Interface Overview
The Dashboard Editor is organized into three main areas that provide a complete editing experience:
The top toolbar provides essential controls for managing your dashboard.
- Back Button - Returns to the previous screen (view mode if editing an existing dashboard, or closes the editor for new dashboards)
- Dashboard Name - Editable text field with a distinct background indicating it can be modified. Set or change the dashboard name here
- Export JSON - Downloads the dashboard configuration as a JSON file for backup or sharing
- Add Widget - Opens the widget creation dialog to add new charts or text widgets to your dashboard
- Save - Saves the current dashboard configuration and returns to view mode (shows "Saving..." when in progress)
2. Dashboard Settings Panel
Below the toolbar, the settings panel lets you configure dashboard-wide properties.
- Description - Multi-line text area with a distinct background indicating it can be modified. Add notes about the dashboard's purpose or content here
Visual Editing Cues: In edit mode, editable fields like the dashboard name and description have a subtle background color to clearly indicate they can be modified. This helps you quickly identify which elements are interactive.
3. Grid Preview Area
The main area displays a live preview of your dashboard layout with all widgets positioned on a responsive grid.
- Widget Counter - Shows the total number of widgets currently on the dashboard
- Grid Canvas - Interactive area where widgets can be dragged, dropped, and resized
- Empty State - When no widgets exist, displays a helpful message with a button to add your first widget
Widgets are the building blocks of your dashboard. Each widget displays a chart or text content in a resizable, draggable container.
Click the "Add Widget" button in the toolbar to open the widget creation dialog. The dialog features a compact, streamlined design with toggle buttons for widget type selection.
Use the toggle buttons at the top of the dialog to select the widget type:
- Chart - Toggle this option to add a chart widget. Displays a saved chart from your chart library with live data updates
- Text - Toggle this option to add a text widget. Shows custom text content for labels, notes, or documentation
When you select the Chart widget type, you'll see a list of all your saved charts:
- Chart Selection List - Browse all available charts with checkboxes for multi-selection
- Chart Information - Each chart shows its name, chart type, and source collection
- Multi-Select Controls - Use "Select All" to choose every chart or "Clear All" to deselect everything
- Selection Counter - Displays how many charts are currently selected
Pro Tip: Selecting multiple charts at once will add them all to your dashboard in an automatic grid layout, saving you time when building comprehensive dashboards.
Adding Text Widgets
Text widgets let you add context, titles, or instructions directly on your dashboard:
- Text Content Field - Multi-line text area where you enter your content
- Plain Text Format - Content displays exactly as typed with preserved line breaks
Both chart and text widgets share these configuration options:
| Field |
Description |
Default |
Widget Title |
Optional title displayed in the widget header |
Empty (uses chart name for chart widgets) |
Show Title |
Checkbox to control whether the title appears in the widget header |
Checked (enabled) |
Column (X) |
Starting column position in the grid (0-based) |
0 |
Row (Y) |
Starting row position in the grid (0-based) |
0 |
Width |
Number of columns the widget spans (1-12) |
4 |
Height |
Number of rows the widget spans (1-10) |
3 |
Background Color |
Optional custom background color for the widget content area |
None (uses theme default) |
Note: The grid uses a 12-column layout. Position and size values can be adjusted after adding widgets by dragging and resizing them directly on the canvas.
Grid Layout System
The dashboard uses a responsive grid system that makes it easy to arrange multiple visualizations. Understanding the grid helps you create organized, professional-looking dashboards.
Grid Structure
- 12 Columns - The grid is divided into 12 equal columns that widgets can span across
- Flexible Rows - Rows expand automatically based on widget placement (up to 100 rows)
- Minimum 10 Rows - The grid always shows at least 10 rows so you have space to drag new widgets
- Free Positioning - Widgets can be placed anywhere on the grid with vertical gaps between them
Every widget has a drag handle at the top that lets you reposition it on the grid:
- Drag Handle - The header bar with a grip icon on the left side is the drag handle
- Drag Anywhere - Click and hold the drag handle, then move your mouse to reposition the widget
- Visual Placeholder - A placeholder outline shows where the widget will be dropped
- Auto-Scroll - The canvas automatically scrolls when you drag near the edges
- Snap to Grid - Widgets automatically align to the grid columns and rows
Widgets can be resized by dragging their edges or corners to span more columns or rows:
- Resize Handles - Hover over widget edges to reveal resize handles on the east, west, south, southeast, and southwest edges
- Proportional Sizing - Widgets resize in grid units (columns and rows) as you drag
- Minimum Size - Widgets cannot be smaller than 1 column by 1 row
- Size Display - The widget header shows current dimensions (e.g., "4x3" for 4 columns by 3 rows)
- Live Chart Resizing - Charts automatically redraw to fit the new widget dimensions
Layout Behavior
The grid system provides flexible positioning while maintaining visual organization:
- No Auto-Compacting - Widgets stay exactly where you place them, allowing intentional vertical spacing
- Overlap Prevention - The grid prevents widgets from overlapping each other
- Push/Shift - Moving a widget into an occupied space pushes other widgets out of the way
- Responsive Charts - Chart visualizations automatically adapt to their container size
Each widget provides controls for customization and removal directly in its header.
- Drag Handle Icon - Grip icon on the left side for repositioning
- Widget Title - Shows the custom title or chart name (or "Widget" if no title is set)
- Size Indicator - Small label showing current dimensions (e.g., "4x3")
- Edit Button - Pencil icon that opens the widget editor
- Delete Button - Trash icon that removes the widget after confirmation
Click the edit button on any widget to open the edit dialog and modify its configuration:
- Change Widget Type - Switch between chart and text widgets
- Update Chart Selection - Choose a different chart to display (for chart widgets)
- Modify Title - Change the widget title or toggle title visibility
- Adjust Position - Fine-tune column and row coordinates
- Resize Precisely - Set exact width and height values
- Customize Background - Change the background color using the color picker
Pro Tip: When editing chart widgets, you can only select one chart at a time. To display multiple charts, add separate widgets for each chart.
Removing widgets is straightforward but includes a safety confirmation:
- Click Delete Button - Click the trash icon in the widget header
- Confirm Removal - A confirmation dialog appears asking "Are you sure you want to remove this widget?"
- Immediate Removal - Confirming removes the widget from the dashboard instantly
- Save Required - Remember to save the dashboard to persist the deletion
Dashboard Settings
Configure dashboard-wide settings that affect all widgets and the overall dashboard behavior.
Basic Settings
| Setting |
Description |
Dashboard Name |
Required. The name displayed in lists and as the activity tab title. Make it descriptive to easily identify the dashboard's purpose. |
Description |
Optional. Add notes about what this dashboard monitors, which data sources it uses, or instructions for other users. |
Note: Dashboard names are required before saving. If you attempt to save without entering a name, you'll receive a validation message prompting you to add one.
Saving and Exporting
VisualLeaf provides flexible options for saving and backing up your dashboard configurations.
Saving Dashboards
Click the "Save" button in the toolbar to store your dashboard configuration:
- First Save (New Dashboard) - Creates a new dashboard in your workspace and assigns it a unique ID
- Subsequent Saves (Updates) - Updates the existing dashboard with your latest changes
- Save Feedback - The button shows "Saving..." during the save operation and displays a success message when complete
- Validation - The dashboard name is required before saving - you'll be prompted if it's missing
- Chart Data Reload - After saving, chart data is automatically reloaded to ensure all visualizations are current
- Return to View Mode - After a successful save, you are automatically returned to view mode to see your dashboard with live data
What Gets Saved
When you save a dashboard, VisualLeaf stores the complete configuration:
- Dashboard Properties - Name, description, and grid settings
- Widget Configurations - All widgets with their type, position, size, and content
- Chart References - Links to the saved charts used in chart widgets (not the chart data itself)
- Layout Information - Exact grid positions and dimensions for every widget
- Styling Options - Custom colors, title visibility, and other visual preferences
Exporting Dashboards
Click "Export JSON" to download a complete backup of your dashboard configuration:
- JSON Format - Downloads a JSON file containing the entire dashboard structure
- Backup and Sharing - Use exported files as backups or share dashboard configurations with team members
- Version Control - Store dashboard JSON files in version control systems to track changes over time
- Migration - Export from one VisualLeaf instance and import into another
Pro Tip: Export your dashboards regularly as backups, especially before making major layout changes. This gives you a restore point if you need to revert.
Chart widgets display saved charts from your chart library and handle data loading intelligently based on connection status.
Data Loading
Chart widgets automatically load and display data from your MongoDB connections:
- Automatic Query Execution - When a chart widget is added, VisualLeaf automatically executes the chart's query or aggregation pipeline
- Connection Status Check - Before querying, the widget verifies that the required database connection is active
- Query Type Support - Handles both find queries and aggregation pipelines based on the chart configuration
- Data Transformation - Raw MongoDB data is automatically transformed into chart-ready format
- Live Rendering - Charts render in real-time as data is loaded and transformed
Connection States
Chart widgets behave differently based on the database connection status:
- Connected - Widget executes the query and displays current data from the database
- Disconnected - Widget shows the last saved chart data (if available) or a placeholder message
- No Saved Data - If disconnected and no cached data exists, displays "Loading chart..." message
Note: Charts that require geographic maps (geo map, geo scatter, geo heatmap) automatically load the necessary GeoJSON data before displaying the visualization.
Chart Types Supported
Dashboard chart widgets support all VisualLeaf chart types:
- Basic Charts - Bar, Line, Area, Pie, Donut
- Statistical Charts - Scatter, Bubble, Radar, Heatmap
- Geographic Charts - Geo Map, Geo Scatter, Geo Heatmap
- Hierarchical Charts - Treemap, Sunburst, Sankey
- Specialized Charts - Funnel, Gauge, Timeline, Calendar, Candlestick
Chart Responsiveness
Charts automatically adapt to widget size changes:
- Auto-Resize - Charts redraw when you resize their widget container
- Aspect Ratio - Visualizations maintain proper proportions regardless of widget dimensions
- Text Scaling - Labels, legends, and axes adjust to fit the available space
- Performance Optimization - Charts use efficient rendering techniques even in small widget sizes
Dashboard Design Best Practices
Follow these guidelines to create effective, professional dashboards that communicate insights clearly.
Layout and Organization
- Group Related Metrics - Place charts that show related information near each other for easy comparison
- Use Consistent Sizes - Similar types of charts should generally be the same size for visual harmony
- Prioritize Important Data - Place the most critical charts in the top-left area where eyes naturally look first
- Leave White Space - Don't fill every grid cell - strategic spacing makes dashboards easier to scan
- Align Widgets - Line up widget edges horizontally and vertically for a clean, professional appearance
Chart Selection
- Choose Appropriate Types - Use bar charts for comparisons, line charts for trends, pie charts for proportions
- Limit Chart Count - 4-8 charts is usually optimal - too many creates information overload
- Mix Chart Types - Variety makes dashboards more engaging and helps communicate different data aspects
- Consider Update Frequency - Place frequently-changing data in prominent positions
Titles and Labels
- Use Descriptive Titles - Widget titles should clearly explain what the chart shows
- Be Consistent - Use similar title styles across all widgets for cohesion
- Show Titles Selectively - Hide titles for obvious charts to reduce clutter, show them for complex visualizations
- Name Dashboards Clearly - Use names that indicate the dashboard's purpose (e.g., "Sales Overview", "Server Monitoring")
- Optimize Chart Queries - Use efficient queries with appropriate limits to ensure fast dashboard loading
- Use Aggregation - Pre-aggregate data in MongoDB rather than loading raw documents when possible
- Limit Data Points - Charts with thousands of data points can be slow to render - aggregate or sample when needed
- Connection Management - Ensure database connections are active before opening dashboards
Troubleshooting
Charts Not Displaying
If a chart widget shows a placeholder instead of data:
- Check Connection Status - Ensure the database connection for the chart is active
- Verify Chart Configuration - Open the chart in the chart editor to confirm it has valid query and data mapping settings
- Review Query Results - The chart query may be returning no data - test it in the chart editor
- Reload Widget Data - Save the dashboard to trigger a data reload for all widgets
If widgets seem stuck in place:
- Use the Drag Handle - Dragging only works when you grab the header bar with the grip icon
- Hover for Resize Handles - Resize handles appear on hover - ensure your mouse is over an edge or corner
- Check for Dialogs - Close any open dialogs (like the add/edit widget dialog) before manipulating widgets
- Refresh the Grid - Save and reload the dashboard to reset the grid state
Dashboard Won't Save
If the save operation fails:
- Add a Name - Dashboard names are required - ensure you've entered one in the toolbar
- Check Error Messages - Look for validation error messages in the interface
- Verify Permissions - Ensure you have permission to save dashboards in your VisualLeaf instance
- Try Again - Network issues can cause save failures - wait a moment and retry
If adding multiple charts doesn't work as expected:
- Verify Chart Selection - Check the selection counter to ensure charts are actually selected
- Use Checkboxes - Click directly on the checkboxes rather than the chart name labels
- Clear and Retry - Use "Clear All" then manually select the charts you want
- Add Individually - As a fallback, add charts one at a time if bulk addition fails