A Felt Markup Language definition includes a version
identifier, a datasets
block that contains an array of dataset
definitions, and an array of visualization
objects under the visualizations
block, which define a set of visualizations to render from top to bottom.
The basic anatomy of a Felt Style definition is the following:
{
"version": "1.2",
"datasets": [ ... ],
"visualizations": [ ... ]
}
A dataset block defines which data is shown in the popup and how it's shown. It contains the following properties:
Field name | Description |
---|---|
id | The dataset id. This will be prepopulated for you. |
name | Optional. Human readable text. |
attributes | Optional. An object that defines how data attributes will be shown. See the Attribute definition section below for more information. |
keyAttributes | Optional. A subset of attributes that will be shown when a user clicks on a feature. If empty, all attributes will be shown. |
titleAttribute | Optional. The attribute that will be used as the popup title. |
Each attribute is defined as follows:
Field name | Description |
---|---|
displayName | Optional. How this attribute will be shown in different parts of the Felt UI. |
format | Optional. A https://github.com/d3/d3-format#d3-format string that encodes how numeric fields should be shown. |
{
"id": "dataset-id",
"name": "My dataset",
"attributes": {
"A": { "displayName": "First attribute", },
"B": { "displayName": "Numeric attribute", "format": ".2f" },
"C": { "displayName": "Text attribute" }
},
"keyAttributes": ["A", "B"],
"titleAttribute": "A"
}
The basic block of a visualization has the following shape
{
type: string,
dataset: ...
config: ...
filter: ...
style: ...
label: ...
legend: ...
}
Where type
is the type of visualization, dataset
contains the set of dataset ids this viz will apply to,
config
defines the configuration associated with the given viz type (see config), filter
is a description of data filtering to be done in datasets
(see filtering), [style](<https://feltmaps.notion.site/Felt-Style-Language-1-2-Reference-f4d2ea2a66584224872dc66ad237267c>)
, [label](<https://feltmaps.notion.site/Felt-Style-Language-1-2-Reference-f4d2ea2a66584224872dc66ad237267c>)
define styling and labeling properties and legend
(see legend) defines how this visualization should be shown in the legend panel.
We support two types of visualization: simple
, which uses the defined style for all features in the defined datasets
, and categorical
, which maps style and label values to a set of features depending on the values of the attributes defined in the config
block.
The config block is a block that contains configuration options for a given visualization.
The following properties are defined in this block: