Repeater
The Repeater component in the GoodData UI SDK, similar to sparklines, excels in displaying a singular visualization over several rows, with each row varying by a key attribute. This arrangement aids in neatly comparing data changes in a grid format, making it easier to spot trends quickly. Additionally, it allows for the inclusion of images and links, which enhances interactivity and narrative capabilities.
Repeater is currently in the beta stage.
Structure
import "@gooddata/sdk-ui-charts/styles/css/main.css";
import { Repeater } from "@gooddata/sdk-ui-charts";
<Repeater
attribute={<primaryAttribute>}
columns={<attributesOrMeasures>}
viewBy={<viewByAttribute>}
config={<chart-config>}
…
/>
Examples
The following code sample shows an arrangement for a typical repeater:
import "@gooddata/sdk-ui-pivot/styles/css/main.css";
import { Repeater } from "@gooddata/sdk-ui-charts";
import * as Md from "./md/full";
const style = { height: 300 };
<div style={style}>
<Repeater
attribute={Md.LocationState}
columns={[Md.LocationState, Md.$FranchiseFees]}
viewBy={Md.DateDatasets.OrderDate.OrderDateMonthYear.Default}
config={{
inlineVisualizations: {
[measureLocalId(Md.$FranchiseFees)]: {
type: "line",
},
},
}}
/>
</div>;
The following code sample shows an arrangement for a repeater with advanced configuration
import "@gooddata/sdk-ui-pivot/styles/css/main.css";
import { Repeater } from "@gooddata/sdk-ui-charts";
import { attributeLocalId, measureLocalId } from "@gooddata/sdk-model";
import * as Md from "./md/full";
const style = { height: 300 };
<div style={style}>
<Repeater
attribute={Md.LocationState}
columns={[Md.LocationHyperlink, Md.$FranchiseFees]}
viewBy={Md.DateDatasets.OrderDate.OrderDateMonthYear.Default}
config={{
hyperLinks: {
[attributeLocalId(Md.LocationHyperlink)]: {
// Configure custom text to show for the hyperlink label
staticElementsText: "See location details",
},
},
inlineVisualizations: {
[measureLocalId(Md.$FranchiseFees)]: {
// Configure inline visualization type
type: "line",
},
},
// Configure image sizing
cellImageSizing: "fill",
// Configure text wrapping
cellTextWrapping: "wrap",
// Configure vertical alignment of the repeater cells
cellVerticalAlign: "middle",
}}
/>
</div>;
Properties
Name | Required? | Type | Description |
---|---|---|---|
attribute | true | IAttribute[] | The primary attribute used for unique rows |
columns | false | IAttributeOrMeasure[] | An array of attributes or measures to be displayed as columns of the repeater. |
viewBy | false | IAttribute | The attribute by which inline visualizations are sliced. |
filters | false | IFilter[] | An array of filter definitions |
config | false | IChartConfig | The chart configuration object |
backend | false | IAnalyticalBackend | The object with the configuration related to communication with the backend and access to analytical workspaces |
workspace | false | string | The workspace ID |
locale | false | string | The localization of the chart. Defaults to en-US . |
drillableItems | false | IDrillableItem[] | An array of attribute values to be drillable, only attributes in columns can be drilled now |
onDrill | false | Function | A callback when a drill is triggered on the component |
ErrorComponent | false | Component | A component to be rendered if this component is in error state |
LoadingComponent | false | Component | A component to be rendered if this component is in loading state |