Homeโ€บ๐Ÿ“Š Data & UIโ€บModule 51 min read ยท 6/15

Strato Arsenal

Hands-on2 exercises

Import Paths

Everything imports from @dynatrace/strato-components sub-paths:

import { Page, Flex, TitleBar } from "@dynatrace/strato-components/layouts";
import { Heading, Text } from "@dynatrace/strato-components/typography";
import { Button } from "@dynatrace/strato-components/buttons";
import { DataTable, convertToColumns } from "@dynatrace/strato-components/tables";
import { TimeseriesChart, convertToTimeseries } from "@dynatrace/strato-components/charts";

Component Quick Reference

CategoryComponentsImport Path
LayoutPage, Flex, TitleBar, AppHeader/layouts
TypographyHeading, Text, Strong/typography
DataDataTable, convertToColumns/tables
ChartsTimeseriesChart, BarChart/charts
ActionsButton, ToggleButton/buttons
FormsTextInput, Select, FormField/forms
๐Ÿง  Quick Check

What does convertToColumns(data) do?

DataTable

Feed DQL results directly into a table:

const { data } = useDql({ query: `fetch dt.entity.host | fields entity.name, cpuCores` });

<DataTable data={data?.records} columns={convertToColumns(data)} />

๐Ÿ’ก convertToColumns(data) auto-generates column definitions from DQL result types. No manual column config needed.

Row Actions

<DataTable data={data?.records} columns={convertToColumns(data)}>
  <DataTable.RowActions>
    {(row) => <Button onClick={() => navigate(`/detail/${row.id}`)}>View</Button>}
  </DataTable.RowActions>
</DataTable>

Layout Patterns

PatternCodeUse For
Vertical stackFlex flexDirection="column" gap={16}Page sections, form fields
Horizontal rowFlex flexDirection="row" gap={8}Button groups, inline items
Fill spaceFlex style={{ flex: 1 }}Expanding content areas
CenteredFlex justifyContent="center" alignItems="center"Loading states, empty states

Strato Design Tokens

var(--dt-colors-background-surface)    /* card background */
var(--dt-colors-text-primary)          /* main text */
var(--dt-colors-charts-categorical-*)  /* chart colors */
๐Ÿง  Quick CheckQuestion 2

Which import path has the DataTable component?

What's Next

Module 6 โ€” Charts: TimeseriesChart, BarChart, and visualizing metrics over time.