1. Overview
x2_advance_dashboard is a draggable dashboard module. You can create Boards and add Cards. Supported card types include Tile KPI, List detail/summary, Chart multiple charts, and Calendar calendar view.
You can access the demo site for testing via the following link:
https://demo.x2soft.cn
Username: ap_manager
Password: a
- Drag cards to resize/reposition; layout is saved automatically.
- Build charts/lists using Model + Domain + Metrics.
- Click charts/values to drill down to record list (and open Form view).
- Export/Import JSON (cross-environment migration).
2. Interaction (Click / Ctrl+Click)
To avoid replacing the current dashboard while still supporting quick preview, drilldown follows these rules:
- Click: Open in the current page (current). Best for browsing and opening Form from the list.
- Ctrl / Cmd / Shift + Click (and middle click): Open as a dialog preview (dialog/new). Good for quick look; not recommended for deep navigation into forms.
2.1 Theme
The dashboard supports theme switching to unify card backgrounds, chart colors, and list toolbars. The theme usually applies immediately (if you see caching issues, refresh the browser).
- Click the ⚙ menu on the top-right of the dashboard.
- Find the Theme option and select a theme.
- The theme affects: card container, list toolbar, chart background, etc.
- If some cards do not update immediately after switching theme, refresh the card or reopen the board.
3. Tile
Tile displays a single KPI value (e.g., order count, total amount, average, etc.).
3.1 Key settings
- Query Model: Select the model (e.g., sale.order).
- Domain: Filter records (e.g., state in sale/done).
- Metric Agg: Aggregation (count / sum / avg / min / max).
- Measure Field: Required when Agg ≠ count (e.g., amount_total).
- Format: Only Tile supports Compact and Empty as 0 (Charts do not).


3.2 Common examples
- Order Count: Agg=count; Group By empty; Domain=confirmed orders.
- Total Amount: Agg=sum; Measure=amount_total.
- Empty value handling: Enable “Empty as 0”.
4. List (Detail / Summary)
List supports two modes: Detail and Summary. The mode depends on whether Group By is empty. Group By is always visible.
- Group By empty → Detail mode: shows record list.
- Group By not empty → Summary mode: shows grouped aggregation.
- Compact / Empty as 0: available and effective only in Summary mode.
Recommendation: which mode to use?
- Need to view each record → Detail mode (leave Group By empty).
- Need KPI comparison by category → Summary mode (set Group By).
- Numbers too large → enable Compact in Summary mode.
5. Chart (Line / Bar / Pie / Scatter / Radar / Gauge / Funnel)
Charts visualize trends and category comparisons. Current version: Group By is a single field.
5.1 Common settings
- Query Model + Domain: define data scope.
- Metric Agg + Measure Field: defines the Y metric (Measure required when Agg ≠ count).
- Group By Field (single field): category/series split.
- Time (optional): Date Field + Time Granularity + Time Range for time-based charts.
- Format: Charts do not support Compact / Empty as 0 (hidden to avoid confusion).
5.2 Bar
- Category comparison: set Group By; no Date Field.
- Time trend: set Date Field + Granularity; optional Group By for multiple series.
5.3 Line
- For trends, use Date Field + Granularity (day/week/month).
- Without time, Line becomes a “category-axis line” (points ordered by Group By).
5.4 Pie / Funnel / Gauge
- Pie/Funnel: typically need Group By (composition of one dimension).
- Gauge: single KPI value; usually no Group By.
6. Scatter (2D)
Scatter analyzes the relationship between two metrics. Each point represents one Group (e.g., a customer or salesperson). Current implementation: one series per Group (legend available) and tooltip shows X/Y.
6.1 Settings
- X Metric: X Metric Agg + X Measure Field (Measure required when Agg ≠ count).
- Y Metric: Metric Agg + Measure Field (as Y).
- Group By Field: each group becomes one point/one legend item.
6.2 How to read
- Top-right: high X and high Y → strong performers.
- Bottom-right: high X but low Y → possible structural difference or anomaly.
- Top-left: low X but high Y → “few but big” cases.
- Bottom-left: low X and low Y → low-value/low-frequency cases.
7. Drilldown
Drilldown opens a record list from a chart/value, and you can open Form for a single record.
7.1 How to trigger
- Tile: click the KPI value.
- Chart: click a point/bar/slice.
- List: open from the card menu (or click group rows in Summary).
7.2 Open mode
- Click: open in current page → can open Form from list.
- Ctrl/Cmd/Shift + Click: dialog preview → quick look.
8. Import / Export
8.1 Export
- Open the board management menu.
- Select “Export JSON”.
- Save for backup/migration.
8.2 Import
- Select “Import JSON” on the target system.
- Paste/upload the spec and confirm.
- If a model/field is missing, incompatible items will be skipped with warnings.
Compatibility notes
- Group By is a single field. If an old spec contains multiple groupbys, only the first one is used (with a warning).
- Scatter import/export includes X Metric and Y Metric settings.
9. FAQ
Q1: Why don’t I see Compact / Empty as 0 in Charts?
By design, Compact / Empty as 0 only apply to Tile and List Summary. Charts do not support them and the options are hidden to avoid confusion.
Q2: Why does List sometimes show detail and sometimes summary?
List mode is controlled by Group By: empty = Detail, not empty = Summary. Group By is always visible so you can switch anytime.
Q3: Why can’t I open Form when using Ctrl+Click drilldown?
Ctrl/Cmd/Shift+Click opens a dialog preview. Use normal Click (current mode) if you want to open Form from the list.
Q4: Scatter legend is too long. What can I do?
It means the Group By has too many categories. Narrow with Domain or choose a Group By with fewer values (e.g., salesperson).
Please log in to comment on this module