= $this->extend('layouts/main') ?>
$mode,
'chartId' => isset($cRow['id']) ? (int) $cRow['id'] : null,
'savedQueryId' => (int) ($cRow['saved_query_id'] ?? $preselectQueryId ?? 0),
'chartType' => (string) ($cRow['chart_type'] ?? 'line'),
'name' => (string) ($cRow['name'] ?? ''),
'description' => (string) ($cRow['description'] ?? ''),
'xField' => (string) ($cRow['x_field'] ?? ''),
'yField' => (string) ($cRow['y_field'] ?? ''),
'groupField' => (string) ($cRow['group_field'] ?? ''),
'valueField' => (string) ($cRow['value_field'] ?? ''),
'refreshInterval' => (int) ($cRow['refresh_interval'] ?? 0),
'display' => $displayConfig ?? [],
];
$bootstrapJson = json_encode($bootstrap, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE) ?: '{}';
?>
= $this->section('styles') ?>
= $this->endSection() ?>
= $this->section('content') ?>
Visualization-first composer: connect query, pick recommended chart, and tune with live preview.= $mode === 'edit' ? 'Edit chart' : 'Create chart' ?>