Documentation
Dojo 1.8 Release Notes¶
(documentation in progress)
Contents
Browser support¶
The following browsers are supported. If a browser is not supported, it still may work, but no effort is taken to test unsupported browsers and any specific fix for an unsupported browser is likely not to be done:
Desktop
- Firefox 5-8
- Safari 5.0-5.1 and Chrome 13 and later
- IE 6-9
- Opera 10.50 and later (Dojo core only)
Mobile (dojox/mobile)
- iOS 4.x, 5.0 (Mobile Safari) (including all Dijit widgets except Editor, Dialog)
- Android 2.2, 2.3, 3.1
- Blackberry 6
- Mobile compatibility on desktop browsers: IE 8-9, Firefox 3.6-7, Safari 5.0-5.1, Chrome 13 and later
TODO: Link to page with specific vendor device models tested on
Dijit¶
_WidgetBase¶
- attribute setters specified with string values can now point to sub-widgets as well as DOMNodes, ex:
dojo.declare("MyWidget",
[dijit._WidgetBase, dijit._TemplatedMixin, dijit._WidgetsInTemplateMixin], {
templateString:
"<div>" +
"<button data-dojo-type='dijit.form.Button'
data-dojo-attach-point='buttonWidget'>hi</button>" +
"<input data-dojo-attach-point='focusNode'>" +
"</div>"
// Mapping this.label to this.buttonWidget.label
label: "",
_setLabelAttr: "buttonWidget",
// Mapping this.value to this.focusNode DOMNode
value: "",
_setValueAttr: "focusNode",
});
Calendar¶
- Can now accept a String for the value parameter (either as an argument to the constructor, or to set("value", ...).
new dijit.Calendar({value: "2011-12-25"});
DateTextBox¶
- DateTextBox's drop down Calendar no longer automatically opens upon clicking the input area, unless the hasDownArrow=false option is set (in which case that's the only way to open the drop down Calendar).(#14142)
Dialog¶
- Sizing improved for when Dialog is too big to fit in viewport. Also, sizing automatically adjusts if users resizes the browser window. (#14147)
Tree¶
- New dijit/tree/ObjectStoreModel class for connecting dijit/Tree to stores with the new dojo.store API. (#13781)
- persist=true flag also saves (and restores) selected Tree nodes (#14058)
- New expandAll()/collapseAll() methods for expanding/collapsing all the nodes in a Tree dynamically (#14287)
Migration¶
Dijit¶
Constructor parameters: Execution of custom setters during widget construction has slightly changed. This may affect custom widgets that adjust widget parameters in postMixInProperties().
As before, during initialization, _setXyzAttr(val) is called for each attribute xyz passed to the constructor where the attribute has a corresponding _setXyzAttr() function or string. The change is that the value passed is the value specified to the constructor, rather than this.xyz. In other words, given a widget like
declare("MyWidget", { this.xyz: "", postMixInProperties: function(){ this.xyz = "dog"; }, _setXyzAttr(val){ ... } }
and then calling the constructor with a custom value:
new MyWidget({xyz: "cat"})
Then _setXyzAttr("cat") will be called, rather than _setXyzAttr("dog") like before.