summaryrefslogtreecommitdiff
path: root/includes/js/dijit/changes.txt
diff options
context:
space:
mode:
Diffstat (limited to 'includes/js/dijit/changes.txt')
-rw-r--r--includes/js/dijit/changes.txt93
1 files changed, 93 insertions, 0 deletions
diff --git a/includes/js/dijit/changes.txt b/includes/js/dijit/changes.txt
new file mode 100644
index 0000000..525305b
--- /dev/null
+++ b/includes/js/dijit/changes.txt
@@ -0,0 +1,93 @@
+Changes from Dojo 0.4 dojo.widgets to new dijit project
+=======================================================
+
+The widgets and widget infrastructure have been separated into separate project,
+vastly streamlined and with a new directory structure. There are many other changes.
+
+Markup
+------
+
+dojoType="button" replaced by dojoType="dijit.Button" Must use fully qualified class name,
+and it's case-sensitive.
+
+Need to manually dojo.require("dojo.parser") to get parsing
+
+Widget namespaces and widget auto-loading are desupported.
+
+onClick="foo" now overrides (ie, replaces) the default onClick() function rather than attaching to it,
+so widget designers should make empty onClick() functions (when appropriate).
+
+Programmatic creation
+---------------------
+Create widgets via
+
+ new dijit.Button(params, srcNodeRef)
+
+createWidget() call removed since multiple renderers are no longer supported (see next section).
+
+At least for the dijit widgets, all widgets are guaranteed to work programmatically, which in
+effect means that all widgets must have templates, unless the default <div> works.
+
+Renderers
+---------
+Removed support for multiple renderers (svg & vml & a11y) for a single widget.
+If a widget wants to render differently on different platforms, there must be
+branching code inside the widget, or it needs to call a library that branches
+based on the browser type (like dojo.gfx or dojo.charting).
+
+
+Templates
+---------
+"this." is no longer used within ${} substitution notation. See ticket #2905.
+dojoRoot,buildScriptBase,dojoModuleUrl are no longer supported, but
+any JavaScript properties on the widget's 'this' may be referenced with dotted notation.
+The attributes dojoOn* are desupported (including dojoOnBuild);
+also can't use id attribute to affect a dojoAttachPoint.
+
+dojoAttachEvent is case sensitive, so capitalization matters. You will probably have
+to change
+
+dojoAttachEvent="onClick"
+
+to
+
+dojoAttachEvent="onclick: onClick"
+
+(given that the event name is lowercase, and assuming that the method name is camel case)
+
+lists within dojoAttachPoint, dojoAttachEvent, waiRole, and waiState are now comma-separated
+(not separated by semi-colons)
+
+Standard HTML attributes like 'id', 'name', 'lang', etc. are carried over programmatically
+by the _Widget constructor and do not need to be declared in the template (see _Widget.attributeMap)
+
+Parent/Child relationships
+--------------------------
+By default widgets exist as islands, not knowing about their parent widget or children widgets.
+The exception is the destroy() function which will also delete all descendant widgets.
+Some widgets like Tree and SplitContainer will know about their children, but those widgets
+will use the special mixins in Container.js / Layout.js.
+
+Widget.js base class
+--------------------
+
+ - Widget.js, Domwidget.js, HtmlWidget.js combined into dijit.base.Widget, with TemplatedWidget mixin
+for widgets with templates
+
+ - on widget creation, postMixInProperties(), buildRendering() and postCreate() is called.
+ fillInTemplate() is no longer called. In addition, those functions call signatures have changed.
+ No arguments are passed. To get the source dom Node, just reference this.srcDomNode.
+When postCreate() is called the widget children don't yet exist.
+
+ - The TemplatedWidget mixin defines buildRendering(). widgetsInTemplate not ported yet.
+
+ - onResized() removed
+
+ - the whole parent/child relationship thing is gone
+
+ - extraArgs[] is gone
+
+ - postCreate() called but child widgets don't exist yet
+
+ - templateCssPath ignored. User must manually include tundra.css file
+