π 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:assign
tag, learn more on the wiki - Add a new function
@isset
used 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 theUser
class, which implements theIAirBubbleDataContext
interface, doesn't have a public property namedname
, the data resolver will try to call the accessorgetName()
from theUser
class. In case of failure, anPropertyNotFoundException
will be thrown) - The
b:dataTable
tag 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