svghmi/widget_textstylelist.ysl2
author Edouard Tisserant
Wed, 15 Jun 2022 11:39:14 +0200
changeset 3514 f86ffe291fea
parent 3354 819b0bdfa705
child 3556 5d73bed497de
permissions -rw-r--r--
SVGHMI: fading page switch : defer update of classList to next animate() call when finishing transition.

classList update was happening in the same call as switch_page(), but this call is not meant to do any change in the DOM. This was triggering unwanted style and layout recomputation.
// widget_textstylelist.ysl2

widget_desc("TextStyleList") {
    longdesc
    ||
    TextStyleList widget is a svg:group, list items are labeled elements
    in that group.

    To use a TextStyleList, clone (svg:use) one of the items inside the widget 
    that expects a TextStyleList.

    In this list, only style matters. Text content is ignored.
    ||

    shortdesc > A named list of named texts

    arg name="listname"
}

widget_defs("TextStyleList") {
    |     styles: {
    foreach "$hmi_element/*[@inkscape:label]" {
        const "style", "func:refered_elements(.)[self::svg:text]/@style";
    |         «@inkscape:label»: "«$style»",
    }
    |     },
}