source: Dev/trunk/src/client/dijit/_Templated.js @ 531

Last change on this file since 531 was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 1.9 KB
Line 
1define([
2        "./_WidgetBase",
3        "./_TemplatedMixin",
4        "./_WidgetsInTemplateMixin",
5        "dojo/_base/array", // array.forEach
6        "dojo/_base/declare", // declare
7        "dojo/_base/lang", // lang.extend lang.isArray
8        "dojo/_base/kernel" // kernel.deprecated
9], function(_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, array, declare, lang, kernel){
10
11        // module:
12        //              dijit/_Templated
13
14        // These arguments can be specified for widgets which are used in templates.
15        // Since any widget can be specified as sub widgets in template, mix it
16        // into the base widget class.  (This is a hack, but it's effective.)
17        // Remove for 2.0.   Also, hide from API doc parser.
18        lang.extend(_WidgetBase, /*===== {} || =====*/ {
19                waiRole: "",
20                waiState:""
21        });
22
23        return declare("dijit._Templated", [_TemplatedMixin, _WidgetsInTemplateMixin], {
24                // summary:
25                //              Deprecated mixin for widgets that are instantiated from a template.
26                //              Widgets should use _TemplatedMixin plus if necessary _WidgetsInTemplateMixin instead.
27
28                // widgetsInTemplate: [protected] Boolean
29                //              Should we parse the template to find widgets that might be
30                //              declared in markup inside it?  False by default.
31                widgetsInTemplate: false,
32
33                constructor: function(){
34                        kernel.deprecated(this.declaredClass + ": dijit._Templated deprecated, use dijit._TemplatedMixin and if necessary dijit._WidgetsInTemplateMixin", "", "2.0");
35                },
36
37                _processNode: function(baseNode, getAttrFunc){
38                        var ret = this.inherited(arguments);
39
40                        // Do deprecated waiRole and waiState
41                        var role = getAttrFunc(baseNode, "waiRole");
42                        if(role){
43                                baseNode.setAttribute("role", role);
44                        }
45                        var values = getAttrFunc(baseNode, "waiState");
46                        if(values){
47                                array.forEach(values.split(/\s*,\s*/), function(stateValue){
48                                        if(stateValue.indexOf('-') != -1){
49                                                var pair = stateValue.split('-');
50                                                baseNode.setAttribute("aria-"+pair[0], pair[1]);
51                                        }
52                                });
53                        }
54
55                        return ret;
56                }
57        });
58});
Note: See TracBrowser for help on using the repository browser.