π New release of AirBubble! What's new in this package:
- A lot of bug and issues are fixed
- The template parser and the template renderer are been optimized
- The parser can now interpret nested indexed variables (ex.
users[0][data][name]) - You can now use absolute paths when extending a template
- AirBubble add Dynamic Data Contexts, learn more from the wiki
- It's now possible to assign variables directly into templates, using the
b:assigntag, learn more on the wiki - Add a new function
@issetused to check if the given string is a template variable (ex.@isset('users')) - Now the template data resolver search for accessor when the given property doesn't exists in the
IAirBubbleDataContext(ex. When in your template you want to access to this value${user.name}and theUserclass, which implements theIAirBubbleDataContextinterface, doesn't have a public property namedname, the data resolver will try to call the accessorgetName()from theUserclass. In case of failure, anPropertyNotFoundExceptionwill be thrown) - The
b:dataTabletag can now have custom attributes - It's now possible to define the selected value in a
b:selectItems - The template parser and tokens are been refactored to optimize the parsing time and avoid parse errors, learn more from commit 43a09db