3.3 The <dashboard:section>

A typical dashboard:section includes:

  1. Optional <icon> element – sets an application-wide icon (top-level menu icon in the Dashboard UI).

  2. <routes> section – defines routes (menu entries).

  3. <canvases> section – defines canvases (pages) that hold controls.

  4. <datasets> section – defines data sources (resources, fields, etc.) that the controls use.

Below is a simplified example:

<dashboard:section xmlns:dashboard="https://blueprint.retailys.com/blueprint.xsd">

    <icon type="svg" source="/icon.svg"/>

    <routes>
        <route name="products" node="menu" canvas="productsList">
            <label>Products</label>
        </route>
        <route name="categories" node="menu" canvas="categoriesList">
            <label>Product Categories</label>
        </route>
    </routes>

    <canvases>
        <canvas name="productsList">
            <label>Product List</label>
            <controls>
                <tablegrid name="productsGrid" dataset="productsList" width="1/1">
                    <label>Product Table</label>
                </tablegrid>
            </controls>
        </canvas>
        <canvas name="categoriesList">
            <label>Product Categories</label>
            <controls>
                <tablegrid name="categoriesGrid" dataset="categoriesList" width="1/1">
                    <label>Category Table</label>
                </tablegrid>
            </controls>
        </canvas>
    </canvases>

    <datasets>
        <dataset name="productsList">
            <resources>
                <resource from="product" resourceType="entity" as="product"/>
            </resources>
            <record>
                <field name="name" resource="product.name"/>
                <field name="sku" resource="product.sku"/>
                <field name="weight" resource="product.weight"/>
                <field name="categories" resource="product.category.name"/>
            </record>
        </dataset>
        <dataset name="categoriesList">
            <resources>
                <resource from="category" resourceType="entity" as="category"/>
            </resources>
            <record>
                <field name="name" resource="category.name"/>
                <field name="parent" resource="category.parent.name"/>
                <field name="productCount" resource="count(category.product)"/>
            </record>
        </dataset>
    </datasets>

</dashboard:section>

Below, we describe each part in detail.

Last updated