Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Wiki Markup
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="5915d68962a55833-52a26896-49ae48d3-9b05ab3b-1a622c30c2dabd350bf92f54"><ac:parameter ac:name="">property_expansion</ac:parameter></ac:structured-macro>Note that {{isSettable}} should be implemented in a way that does not cause the expansion of the property. The {{isSettable}} check is performed before the CSS value is looked up. If the property is not settable, then no further CSS processing is done for that property (on any given pulse). The {{getWritableValue}} method is invoked only if there is a CSS value to apply. Thus, if the property is not settable or there is no CSS value, the property is not expanded\[[#1]\].

...

  1. Anchor
    1
    1
    Further explanation of property expansion. Consider something like opacityProperty which starts out null. If nothing ever touches it, it stays null. CSS wants to know if opacity can be set before it goes off looking for styles. If it can't be set, then it is skipped. If it can, and no styles for it are found, then opacityProperty should still be null, otherwise every time CSS touches a property it would be expanded - not a good thing. So the isSettable check basically says, the property is settable if it is null or isn't bound. The only time the property is expanded is if there is actually a style for it.