Touch is a panel setting, and the rail grows with it
It described the wrong object. A dashboard is a document that may hang on a
hallway tablet and in a desk browser at the same time, and only one of those
has fingers on it — so the flag moves off `DashboardDef.settings` and onto
`PanelDef` as a plain bool, ticked in the Panels dialog. `useCanvasRoot` takes
it as an argument rather than reading the document, and `/panel/{id}` is the
only surface with a panel to ask.
Dropping the message binding with it is deliberate: nothing drove it, and a
flow deciding whether a screen has fingers on it was never the point. A stored
`settings.touch` is inert rather than migrated, which `_check_settings`
skipping unknown names already guaranteed.
The rail was the other half. It had no touch behaviour at all and its 40px
buttons met neither branch of the 44/32 rule. `[data-touch] .dui-rail{-item}`
in `ui/core/core.css` spends the padding and the gap on the buttons instead,
so they reach the 44px target and the rail comes out taller at exactly the
same width — `RAIL_INSET` never moves, and the arrangement under it does not
either.
Also closes the panels-dialog icon gap: `DashboardSummary` carries the `icon`
now, so the dialog draws each assigned dashboard's rail glyph beside its
checkbox. `initials()` went from three identical copies in the looks to one in
`Dashboard/icons.ts`, so the dialog and the rail fall back the same way.
This commit is contained in:
@@ -556,6 +556,11 @@ export const DashboardSummarySchema = {
|
||||
title: 'Title',
|
||||
default: ''
|
||||
},
|
||||
icon: {
|
||||
type: 'string',
|
||||
title: 'Icon',
|
||||
default: ''
|
||||
},
|
||||
widget_count: {
|
||||
type: 'integer',
|
||||
title: 'Widget Count',
|
||||
@@ -2355,6 +2360,11 @@ export const PanelDefSchema = {
|
||||
type: 'array',
|
||||
title: 'Dashboards'
|
||||
},
|
||||
touch: {
|
||||
type: 'boolean',
|
||||
title: 'Touch',
|
||||
default: false
|
||||
},
|
||||
nonce: {
|
||||
type: 'integer',
|
||||
title: 'Nonce',
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -154,6 +154,7 @@ export type DashboardsPublic = {
|
||||
export type DashboardSummary = {
|
||||
name: string;
|
||||
title?: string;
|
||||
icon?: string;
|
||||
widget_count?: number;
|
||||
has_draft?: boolean;
|
||||
version?: number;
|
||||
@@ -848,6 +849,7 @@ export type PanelDef = {
|
||||
id: string;
|
||||
title?: string;
|
||||
dashboards?: Array<(string)>;
|
||||
touch?: boolean;
|
||||
nonce?: number;
|
||||
};
|
||||
|
||||
@@ -1872,6 +1874,12 @@ export type RunsCancelRunData = {
|
||||
|
||||
export type RunsCancelRunResponse = (fluksio__api__routes__runs__RunRow);
|
||||
|
||||
export type RunsRetryRunData = {
|
||||
runId: string;
|
||||
};
|
||||
|
||||
export type RunsRetryRunResponse = (fluksio__api__routes__runs__RunRow);
|
||||
|
||||
export type RunsReadMetricsData = {
|
||||
name?: string;
|
||||
runId: string;
|
||||
|
||||
Reference in New Issue
Block a user