Alpha (Preview)
Date released: 28th February, 2008
Target goals:
- essential functionality implemented
- CSS2.1 selectors implemented
Beta (Stabilization)
Date released: 5th June, 2008
Target goals:
- all reported bugs fixed
- source code published
Beta 2 (Completeness)
Date released: 9th September, 2008
Target goals
- CSS3 selectors implemented (most of)
- Namespaces support in selectors (enabling binding XBL to custom tags from custom namespaces)
- compatibility with Adobe AIR (application mode support)
- DOMAttrModified event support
- all reported bugs fixed
1.0 (General Availability)
Date expected: 1st December, 2008
Target goals
- CSS3 selectors implemented (nth-child etc.)
- Managing bindings at the page run-time
- IE8- CSS 2.1 support on hosting page
- all reported bugs fixed
This is amazing! I just found out about it. Any demos? Can you style the XBL widgets using CSS as first class elements (even on IE)?
Best, Brad Neuberg
Thanks Brad!
Demos are available from the Project Homepage. As for the first class elements, this is definitely something developer should avoid (if you mean element selectors in binding styles). Also, in a future I will probably add some scoping wrappers.
what do you mean by "compatible with Adobe AIR ", I have integrated your XBL with our XForms implementation works well. I am using XBM+XForms in the Adobe Air framework.
hblink1954,
To my knowledge, Adobe AIR has two security modes. When running in application-mode, AIR would ban creation of any scripts after the page load event fired. XBL 2 implementation hosted here should then be engaged synchronously to the event (that is currently not the case). In the non-application-mode, pages have more limited access to the AIR container resources, while allowing for dynamic scripts to be executed at any point of time.
Our us of XBL is via the parentSandboxBridge and initialisation via dominitialize event. however in our xforms implementation we create elements (xforms:repeat) after page load event, so not sure still
How is the road to 1.0 coming? I'm looking at the code and some of the challenges with dynamic element changes. It seems that other attempts to implement have stalled when working with the mutation event handler filters / support for dynamic changes to bound elements. I've been working toward solutions to these and would be willing to share knowledge / help with getting past these issues. There are a few key events / js features that need to be tapped which include DOMNodeInserted (for IE: ondocumentready hack using an htc file...dying for a better soln) and DOMAttrModified (onpropertychange in IE).
The development was suspended for some time and will soon be restarted. So the 1.0 version can be expected by the end of the year. As for the DOM Mutation Events, given the approach we've taken, there is only sense in supporting for DOMAttrModified event (indeed I am aware of all the facilities available to implementing that ;) ) This was not scheduled for 1.0 but will now probably be added. Also, feel free contacting me if you would like to contribute to the implementation (writing code, unit tests, examples or docs)!
Congratulations, this is a great achievement! While playing with it I noticed the following possible limitations / bugs.
# Defining bindings in a binding file doesn't seem to work. I can style template elements, but I can't use bindings for them. # Using css from the author stylesheet (original doc) are not possible, because all classes used in the template are pre/postfixed. Due to a bug in the implementation it is possible to get non prefixed classes in the shadow output by using multiple classes on an element (e.g. class="x myclass x" will generate "xbl-x myclass x-binding"). If this myclass has a binding associated in the original css, it doesn't apply that binding. # The specification mentions the attribute apply-author-sheets on the template, to allow author defined css rules to affect shadow tree output. With my limited knowledge I think this could be implemented with non pre/postfixed classes on the output. Same for:
What I'm actually missing is bindings recursively applied to shadow trees. See chapter §4.1, "[...] Any bindings that apply to elements in the shadow tree must be applied". This would allow me to create higher level components, composed of other components (e.g. a login dialog composed of my own input field and button with their own behavior). The more complex content elements (§4.4+) are less important than simply being able to use bindings in a template.
Is there a plan for supporting this? Because I'm new to XBL there might be other ways to achieve this, so please let me know.
I am wondering if this would work for my site http://www.thepromohut.com it is a magento site
Is there an example of how to use CSS to format currency. For example of the "model" has 12345.67 can the "view" be $12,345.67? I would like to specify this once in a CSS file using a picture format:
Thanks! - Dan