Ignore:
Timestamp:
09/05/12 14:41:13 (13 years ago)
Author:
hendrikvanantwerpen
Message:

Added build infrastructure and reorganised code to match it.

Page navigation is now done by the rft/app/Controller class. pages
inherit generally from rft/app/Page, which is a BorderContainer?. The
Page uses normal widget mechanism like templateString, all data-rft-*
are obsolete, use normal data-dojo-* options again in templates.
This is done so the pages of the app can be included in the build.
URLs are linked to pages through registration, which is done in
run.js. The routes are defined in the routes.js file. Page class names
and URLs are now independent.

Reduced includes in index.html to one CSS file and two JS files. Dojo
stylesheets are now included thorugh externals.css.

Dojo 1.8 doesn't require the dotted names in declares anymore. All these
are now removed (redundant with module path and JS filename anyway)
and in templates a module id is used, so iso 'dijit.form.Form' use
'dijit/form/Form' now. This is more consistent with requires in the JS
code and they are picked up by the build system.

Removed any old-style dojo.<function> code and use loaded modules
everywhere.

Lots of whitespace unification.

Location:
Dev/branches/rest-dojo-ui
Files:
1 deleted
34 edited

Legend:

Unmodified
Added
Removed
  • Dev/branches/rest-dojo-ui

    • Property svn:ignore
      •  

        old new  
        11nbproject
        22.project
         3release
  • Dev/branches/rest-dojo-ui/client

    • Property svn:externals
      •  

        old new  
        1 dojotoolkit http://svn.dojotoolkit.org/src/tags/release-1.8.0
         1dojo http://svn.dojotoolkit.org/src/tags/release-1.8.0/dojo
         2dijit http://svn.dojotoolkit.org/src/tags/release-1.8.0/dijit
         3dojox http://svn.dojotoolkit.org/src/tags/release-1.8.0/dojox
         4util http://svn.dojotoolkit.org/src/tags/release-1.8.0/util
  • Dev/branches/rest-dojo-ui/client/rft/ui/Breadcrumbs.js

    r406 r407  
    55    'dojo/dom-class',
    66    'dojo/topic',
    7     'dijit/_WidgetBase'
    8 ], function(declare, baseArray, Button, domClass, topic, _WidgetBase){
    9     return declare('rft.ui.Breadcrumbs', [_WidgetBase], {
     7    'dijit/_WidgetBase',
     8    '../app/Controller'
     9], function(declare, baseArray, Button, domClass, topic, _WidgetBase,Controller){
     10    return declare([_WidgetBase], {
    1011        _crumbs: [],
    1112       
     
    1415        },
    1516        _getIndexOf: function(label) {
    16             dojo.forEach(this._crumbs, function(crumb, index){
    17                 if (crumb.label == label) {
     17            baseArray.forEach(this._crumbs, function(crumb, index){
     18                if (crumb.label === label) {
    1819                    return index;
    1920                }
     
    3132            var removals = this._crumbs.slice(index+1);
    3233            this._crumbs = this._crumbs.slice(0, index+1);
    33             dojo.forEach(removals, function(removal){
     34            baseArray.forEach(removals, function(removal){
    3435                removal.widget.destroyRecursive(false); // boolean "keepDOMnode"
    3536            }, this);
     
    6061                iconClass: "dijitNoIcon",
    6162                onClick: lang.hitch(this, function(){
    62                     rft.api.loadPage(path);  // TODO: fix this call!
     63                    Controller.go(path);  // TODO: fix this call!
    6364                })
    6465            });
    6566        },
    6667        _createBreadcrumbs: function() {
    67             dojo.forEach(this._crumbs, function(crumb, index){
     68            baseArray.forEach(this._crumbs, function(crumb, index){
    6869                if (!crumb.widget) {
    6970                    crumb.widget = this._createBreadcrumb(crumb.label, crumb.path);
  • Dev/branches/rest-dojo-ui/client/rft/ui/LineWithActionsWidget.js

    r406 r407  
    1111    'dojo/text!./templates/LineWithActionsWidget.html'
    1212],function(declare,lang,on,dom,event,domClass,Button,_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,templateString){
    13     return declare('rft.ui.LineWithActionsWidget',[_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin],{
     13    return declare([_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin],{
    1414        templateString: templateString,
    1515        baseClass: 'rftLineWithButtons',
  • Dev/branches/rest-dojo-ui/client/rft/ui/MainMenu.js

    r311 r407  
    22    'dijit/_TemplatedMixin','dijit/_WidgetsInTemplateMixin','dojo/text!./templates/MainMenu.html'],
    33    function(declare,_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,template){
    4         return declare('rft.ui.MainMenu',[_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin],{
     4        return declare([_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin],{
    55            templateString: template
    66        });
  • Dev/branches/rest-dojo-ui/client/rft/ui/MenuBarLink.js

    r256 r407  
    1 define(['dojo/_base/declare','dijit/MenuBarItem','../content'],
    2 function(declare,MenuBarItem,content){
    3     return declare('rft.ui.MenuBarLink',[MenuBarItem],{
     1define(['dojo/_base/declare','dijit/MenuBarItem','../app/Controller'],
     2function(declare,MenuBarItem,Controller){
     3    return declare([MenuBarItem],{
    44        options:{
    5             pageId: null
     5            path: null
    66        },
    77        onClick: function(){
    8             content.goTo(this.pageId);
     8            this.path && Controller.go(this.path);
    99        }
    1010    });
  • Dev/branches/rest-dojo-ui/client/rft/ui/MenuLink.js

    r367 r407  
    1 define(['dojo/_base/declare','dijit/MenuItem','../content'],
    2 function(declare,MenuItem,content){
    3     return declare('rft.ui.MenuLink',[MenuItem],{
     1define(['dojo/_base/declare','dijit/MenuItem','../app/Controller'],
     2function(declare,MenuItem,Controller){
     3    return declare([MenuItem],{
    44        options:{
    5             pageId: null
     5            path: null
    66        },
    77        onClick: function(){
    8             content.goTo(this.pageId);
     8            this.path && Controller.go(this.path);
    99        }
    1010    });
  • Dev/branches/rest-dojo-ui/client/rft/ui/MultipleChoiceWidget.js

    r288 r407  
    77        _WidgetsInTemplateMixin,_Container,
    88        templateString,RadioButton,CheckBox,TextBox,Button){
    9         return declare('rft.ui.MultipleChoiceWidget',[_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,_Container],{
     9        return declare([_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,_Container],{
    1010            templateString: templateString,
    1111            multiple: true,
  • Dev/branches/rest-dojo-ui/client/rft/ui/Notifications.js

    r311 r407  
    11define(['dojo/_base/declare','dojo/_base/lang','dojo/_base/connect','dojox/widget/Toaster'],
    22    function(declare,lang,connect,Toaster){
    3         return declare('rft.ui.Notifications',[Toaster],{
     3        return declare([Toaster],{
    44            positionDirection: "br-up",
    55            duration: 1000,
  • Dev/branches/rest-dojo-ui/client/rft/ui/ObjectBox.js

    r406 r407  
    66    'dijit/_WidgetsInTemplateMixin',
    77    'rft/ui/LineWithActionsWidget',
    8     'dojo/text!./templates/ObjectBox.html',
     8    'dojo/text!./templates/ObjectBox.html'
    99], function(declare, lang, _WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, LineWithActionsWidget, template){
    10     return declare('rft.ui.ObjectBox', [_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin], {
     10    return declare([_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin], {
    1111        baseClass: "rftObjectBox",
    1212        templateString: template,
  • Dev/branches/rest-dojo-ui/client/rft/ui/QuestionEditorPreview.js

    r392 r407  
    55    'dijit/registry',
    66    './QuestionEditorPreviewItem',
    7     './lists/OrderedList',
    8     ], function(declare, lang, domConstruct, registry, QuestionEditorPreviewItem, OrderedList) {
    9         return declare("rft.ui.QuestionEditorPreview", [OrderedList], {
    10             baseClass: 'surveyEditorPreview',
    11             type: 'questionContent',
    12             withHandles: true,
     7    './lists/OrderedList'
     8], function(declare, lang, domConstruct, registry, QuestionEditorPreviewItem, OrderedList) {
     9    return declare([OrderedList], {
     10        baseClass: 'surveyEditorPreview',
     11        type: 'questionContent',
     12        withHandles: true,
    1313
    14             _createAvatarNode: function(item) {
    15                 return domConstruct.create("span",{
    16                     innerHTML: item.type || "Dragging!!!"
    17                 });
    18             },
    19             _createListNode: function(item) {
    20                 var previewItem = new QuestionEditorPreviewItem({
    21                     item: item
    22                 });
    23                 previewItem.on('close',lang.hitch(this,'removeItem',item));
    24                 previewItem.startup();
    25                 return previewItem.domNode;
    26             },
    27             getItems: function() {
    28                 return this.source.getAllNodes()
    29                 .map(function(node){
    30                     return registry.byNode(node).get('value');
    31                 },this);
    32             }
    33         });
     14        _createAvatarNode: function(item) {
     15            return domConstruct.create("span",{
     16                innerHTML: item.type || "Dragging!!!"
     17            });
     18        },
     19        _createListNode: function(item) {
     20            var previewItem = new QuestionEditorPreviewItem({
     21                item: item
     22            });
     23            previewItem.on('close',lang.hitch(this,'removeItem',item));
     24            previewItem.startup();
     25            return previewItem.domNode;
     26        },
     27        getItems: function() {
     28            return this.source.getAllNodes()
     29            .map(function(node){
     30                return registry.byNode(node).get('value');
     31            },this);
     32        }
    3433    });
     34});
  • Dev/branches/rest-dojo-ui/client/rft/ui/QuestionEditorPreviewItem.js

    r405 r407  
    44    'dojo/_base/lang',
    55    'dojo/dom-class',
     6    'dojo/dom-geometry',
    67    'dojo/on',
    78    'dijit/_Container',
     
    1011    'dijit/_WidgetsInTemplateMixin',
    1112    './content/ContentWidgetFactory',
    12     'dojo/text!./templates/QuestionEditorPreviewItem.html',
    13     ], function(declare, fx, lang, domClass, on, _Container, _TemplatedMixin, _WidgetBase, _WidgetsInTemplateMixin, ContentWidgetFactory, template) {
    14         return declare("rft.ui.QuestionEditorPreviewItem", [_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, _Container], {
    15             version: "full",
    16             templateString: template,
    17             baseClass: "surveyEditorPreviewItem",
    18             previousContentHeight: 200,
    19             item: null,
    20             innerWidget: null,
    21             foldDuration: [250, 250],
    22             animation: null,
    23             _editing: false,
     13    'dojo/text!./templates/QuestionEditorPreviewItem.html'
     14], function(
     15    declare,
     16    fx,
     17    lang,
     18    domClass,
     19    domGeom,
     20    on,
     21    _Container,
     22    _TemplatedMixin,
     23    _WidgetBase,
     24    _WidgetsInTemplateMixin,
     25    ContentWidgetFactory,
     26    template
     27){
     28    return declare([_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, _Container], {
     29        version: "full",
     30        templateString: template,
     31        baseClass: "surveyEditorPreviewItem",
     32        previousContentHeight: 200,
     33        item: null,
     34        innerWidget: null,
     35        foldDuration: [250, 250],
     36        animation: null,
     37        _editing: false,
    2438
    25             startup: function() {
    26                 if ( this._started ){ return; }
    27                 this.inherited(arguments);
    28                 this.foldButtonNode.onClick = lang.hitch(this, this.toggleFold);
    29                 this.removeButtonNode.onClick = lang.hitch(this, "onClose");
    30                 this.editButtonNode.onClick = lang.hitch(this, this.toggleEdit);
    31                 if (this.item) {
    32                     this._showViewWidget();
     39        startup: function() {
     40            if ( this._started ){ return; }
     41            this.inherited(arguments);
     42            this.foldButtonNode.onClick = lang.hitch(this, this.toggleFold);
     43            this.removeButtonNode.onClick = lang.hitch(this, "onClose");
     44            this.editButtonNode.onClick = lang.hitch(this, this.toggleEdit);
     45            if (this.item) {
     46                this._showViewWidget();
     47            } else {
     48                throw "No data supplied to create an innerWidget!";
     49            }
     50        },
     51        _destroyInnerWidget: function() {
     52            if ( this.innerWidget !== null ) {
     53                this.innerWidget.destroyRecursive();
     54            }
     55        },
     56        _showViewWidget: function() {
     57            var factory = new ContentWidgetFactory();
     58            this.innerWidget = factory.createViewWidget( this.item );
     59            if ( this.innerWidget !== null ) {
     60                this.innerWidget.placeAt(this.containerNode);
     61                this.innerWidget.startup();
     62                this.innerWidget.set('readOnly',true);
     63            }
     64            this.titleNode.innerHTML = (this.item.code||"(no code)")+" : "+this.item.type+" [preview]";
     65        },
     66        _showEditWidget: function() {
     67            var factory = new ContentWidgetFactory();
     68            this.innerWidget = factory.createEditWidget( this.item );
     69            if ( this.innerWidget !== null ) {
     70                this.innerWidget.placeAt(this.containerNode);
     71                this.innerWidget.startup();
     72            }
     73            this.titleNode.innerHTML = (this.item.code||"(no code)")+" : "+this.item.type+" [editing]";
     74        },
     75        onClose: function() {},
     76        _getValueAttr: function(value) {
     77            return this.item;
     78        },
     79        _setValueAttr: function(value) {
     80            this.item = value;
     81            this._destroyInnerWidget();
     82            if ( this._editing ) {
     83                this._showEditWidget();
     84            } else {
     85                this._showViewWidget();
     86            }
     87        },
     88        toggleEdit: function() {
     89            if(this._editing) {
     90                if ( this.innerWidget !== null ) {
     91                    this.item = this.innerWidget.get('value');
     92                }
     93                this._destroyInnerWidget();
     94                this._showViewWidget();
     95                this.editButtonNode.iconNode.className = this.editButtonNode.iconNode.className.replace("rftIconAccept", "rftIconEdit");
     96                this.editButtonNode.set("label", "Edit");
     97            } else {
     98                this._destroyInnerWidget();
     99                this._showEditWidget();
     100                this.editButtonNode.iconNode.className = this.editButtonNode.iconNode.className.replace("rftIconEdit", "rftIconAccept");
     101                this.editButtonNode.set("label", "Done");
     102            }
     103            this._editing = !this._editing;
     104        },
     105        toggleFold: function() {
     106            if (!this.animation) {
     107                if (!domClass.contains(this.domNode, "fold")) {
     108                    this.previousContentHeight = domGeom.getMarginBox(this.innerNode).h;
     109                    this.animation = fx.animateProperty({
     110                        node: this.innerNode,
     111                        duration: this.foldDuration[0],
     112                        properties: {
     113                            height: 1                       
     114                        },
     115                        onEnd: lang.hitch(this, function(){
     116                            domClass.add(this.domNode, "fold");
     117                            this.animation = null;
     118                        })
     119                    }).play();
     120                    this.foldButtonNode.iconNode.className = this.foldButtonNode.iconNode.className.replace("rftIconHalfArrowUp", "rftIconHalfArrowDown");
    33121                } else {
    34                     throw "No data supplied to create an innerWidget!";
    35                 }
    36             },
    37             _destroyInnerWidget: function() {
    38                 if ( this.innerWidget !== null ) {
    39                     this.innerWidget.destroyRecursive();
    40                 }
    41             },
    42             _showViewWidget: function() {
    43                 var factory = new ContentWidgetFactory();
    44                 this.innerWidget = factory.createViewWidget( this.item );
    45                 if ( this.innerWidget !== null ) {
    46                     this.innerWidget.placeAt(this.containerNode);
    47                     this.innerWidget.startup();
    48                     this.innerWidget.set('readOnly',true);
    49                 }
    50                 this.titleNode.innerHTML = (this.item.code||"(no node)")+" : "+this.item.type+" [preview]";
    51             },
    52             _showEditWidget: function() {
    53                 var factory = new ContentWidgetFactory();
    54                 this.innerWidget = factory.createEditWidget( this.item );
    55                 if ( this.innerWidget !== null ) {
    56                     this.innerWidget.placeAt(this.containerNode);
    57                     this.innerWidget.startup();
    58                 }
    59                 this.titleNode.innerHTML = (this.item.code||"(no node)")+" : "+this.item.type+" [editing]";
    60             },
    61             onClose: function() {},
    62             _getValueAttr: function(value) {
    63                 return this.item;
    64             },
    65             _setValueAttr: function(value) {
    66                 this.item = value;
    67                 this._destroyInnerWidget();
    68                 if ( this._editing ) {
    69                     this._showEditWidget();
    70                 } else {
    71                     this._showViewWidget();
    72                 }
    73             },
    74             toggleEdit: function() {
    75                 if(this._editing) {
    76                     if ( this.innerWidget !== null ) {
    77                         this.item = this.innerWidget.get('value');
    78                     }
    79                     this._destroyInnerWidget();
    80                     this._showViewWidget();
    81                     this.editButtonNode.iconNode.className = this.editButtonNode.iconNode.className.replace("rftIconAccept", "rftIconEdit");
    82                     this.editButtonNode.set("label", "Edit");
    83                 } else {
    84                     this._destroyInnerWidget();
    85                     this._showEditWidget();
    86                     this.editButtonNode.iconNode.className = this.editButtonNode.iconNode.className.replace("rftIconEdit", "rftIconAccept");
    87                     this.editButtonNode.set("label", "Done");
    88                 }
    89                 this._editing = !this._editing;
    90             },
    91             toggleFold: function() {
    92                 if (!this.animation) {
    93                     if (!domClass.contains(this.domNode, "fold")) {
    94                         this.previousContentHeight = dojo.marginBox(this.innerNode).h;
    95                         this.animation = fx.animateProperty({
    96                             node: this.innerNode,
    97                             duration: this.foldDuration[0],
    98                             properties: {
    99                                 height: 1                       
    100                             },
    101                             onEnd: lang.hitch(this, function(){
    102                                 domClass.add(this.domNode, "fold");
    103                                 this.animation = null;
    104                             })
    105                         }).play();
    106                         this.foldButtonNode.iconNode.className = this.foldButtonNode.iconNode.className.replace("rftIconHalfArrowUp", "rftIconHalfArrowDown");
    107                     } else {
    108                         this.animation = fx.animateProperty({
    109                             node: this.innerNode,
    110                             duration: this.foldDuration[1],
    111                             properties: {
    112                                 height: this.previousContentHeight               
    113                             },
    114                             onEnd: lang.hitch(this, function(){
    115                                 domClass.remove(this.domNode, "fold");
    116                                 this.animation = null;
    117                             })
    118                         }).play();
    119                         this.foldButtonNode.iconNode.className = this.foldButtonNode.iconNode.className.replace("rftIconHalfArrowDown", "rftIconHalfArrowUp");
    120                     }
     122                    this.animation = fx.animateProperty({
     123                        node: this.innerNode,
     124                        duration: this.foldDuration[1],
     125                        properties: {
     126                            height: this.previousContentHeight               
     127                        },
     128                        onEnd: lang.hitch(this, function(){
     129                            domClass.remove(this.domNode, "fold");
     130                            this.animation = null;
     131                        })
     132                    }).play();
     133                    this.foldButtonNode.iconNode.className = this.foldButtonNode.iconNode.className.replace("rftIconHalfArrowDown", "rftIconHalfArrowUp");
    121134                }
    122135            }
     136        }
    123137
    124         });
    125138    });
     139});
  • Dev/branches/rest-dojo-ui/client/rft/ui/QuestionEditorToolkit.js

    r402 r407  
    1515    'dojo/text!./templates/QuestionEditorToolkit.html'
    1616    ], function(declare, lang, Source, domConstruct, Memory, _Container, _TemplatedMixin, _WidgetBase, _WidgetsInTemplateMixin, Button, ComboBox, store, CategoryListView, template) {
    17         return declare("rft.ui.QuestionEditorToolkit", [_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, _Container], {
     17        return declare([_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, _Container], {
    1818
    1919            templateString: template,
  • Dev/branches/rest-dojo-ui/client/rft/ui/QuestionWidget.js

    r343 r407  
    44    'dijit/form/Textarea','./MultipleChoiceWidget'],
    55    function(declare,lang,domConstruct,_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,templateString,TextBox,Textarea,MultipleChoiceWidget){
    6         return declare('rft.ui.QuestionWidget',[_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin],{
     6        return declare([_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin],{
    77            templateString: templateString,
    88            mode: 'view', // view || edit
  • Dev/branches/rest-dojo-ui/client/rft/ui/Selector.js

    r406 r407  
    11define([
     2    'dojo/_base/array',
    23    'dojo/_base/declare',
    3     'dojo/_base/array',
     4    'dojo/_base/event',
     5    'dojo/_base/lang',
     6    'dojo/dom-class',
     7    'dojo/fx',
     8    'dojo/query',
     9    'dijit/_Container',
     10    'dijit/_TemplatedMixin',
     11    'dijit/_WidgetBase',
     12    'dijit/_WidgetsInTemplateMixin',
    413    'dijit/registry',
    5     'dojo/_base/lang',
    6     'dojo/_base/event',
    7     'dojo/fx',
    8     'dijit/_WidgetBase',
    9     'dijit/_TemplatedMixin',
    10     'dijit/_WidgetsInTemplateMixin',
    11     'dijit/_Container',
    1214    './LineWithActionsWidget',
    13     'dojo/text!./templates/Selector.html',
    14     'dojo/dom-class',
     15    'dojo/text!./templates/Selector.html'
    1516],function(
     17    baseArray,
    1618    declare,
    17     baseArray,
     19    event,
     20    lang,
     21    domClass,
     22    fx,
     23    query,
     24    _Container,
     25    _TemplatedMixin,
     26    _WidgetBase,
     27    _WidgetsInTemplateMixin,
    1828    registry,
    19     lang,
    20     event,
    21     fx,
    22     _WidgetBase,
    23     _TemplatedMixin,
    24     _WidgetsInTemplateMixin,
    25     _Container,
    2629    LineWithActionsWidget,
    27     templateString,
    28     domClass
    29     ){
    30     return declare('rft.ui.Selector',[_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,_Container],{
     30    templateString
     31){
     32    return declare([_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,_Container],{
    3133        templateString: templateString,
    3234        baseClass: 'rftSelector',
     
    125127        onToggle: function(evt) {
    126128            if (this._folded) {
    127                 var downArrowIcon = dojo.query(".rftBlockButton .rftIconHalfArrowDown", this._selectorLine.buttonsNode)[0];
     129                var downArrowIcon = query(".rftBlockButton .rftIconHalfArrowDown", this._selectorLine.buttonsNode)[0];
    128130                if (downArrowIcon){
    129131                    domClass.replace(downArrowIcon, "rftIconHalfArrowUp", "rftIconHalfArrowDown");
     
    134136                this._folded = false;
    135137            } else {
    136                 var upArrowIcon = dojo.query(".rftBlockButton .rftIconHalfArrowUp", this._selectorLine.buttonsNode)[0];
     138                var upArrowIcon = query(".rftBlockButton .rftIconHalfArrowUp", this._selectorLine.buttonsNode)[0];
    137139                if (upArrowIcon){
    138140                    domClass.replace(upArrowIcon, "rftIconHalfArrowDown", "rftIconHalfArrowUp");
  • Dev/branches/rest-dojo-ui/client/rft/ui/TabbedQuestionBrowser.js

    r405 r407  
    1111    ],
    1212    function(declare,lang,win,ContentPane,TabContainer,Standby,store,Selector){
    13         return declare('rft.ui.TabbedQuestionBrowser',[TabContainer],{
     13        return declare([TabContainer],{
    1414            tabPosition: 'left-h',
    1515
  • Dev/branches/rest-dojo-ui/client/rft/ui/TitleGroup.js

    r288 r407  
    11require(['dojo/_base/declare','dojo/_base/query','dijit/registry','dojox/widget/TitleGroup'],
    22    function(declare,query,registry,TitleGroup){
    3         return declare('rft.ui.TitleGroup',[TitleGroup],{
     3        return declare([TitleGroup],{
    44            getChildren: function() {
    55                return query("> .dijitTitlePane", this.domNode)
  • Dev/branches/rest-dojo-ui/client/rft/ui/content/ContentWidgetFactory.js

    r406 r407  
    1717    './../lists/OrderedList'
    1818],function(array, declare, lang, domConstruct, _TemplatedMixin, _WidgetBase, _Container, Button, CheckBox, NumberSpinner, RadioButton, Textarea, TextBox, TableContainer, _EditableListMixin, OrderedList) {
    19     var factory = declare('rft.ui.content.ContentWidgetFactory', [], {
     19    var factory = declare(null, {
    2020        createViewWidget: function(/*Object*/options) {
    2121            // options: Object
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/AccountListView.js

    r406 r407  
    1212    OrderedList
    1313) {
    14     return declare('rft.ui.lists.AccountListView',[OrderedList],{
     14    return declare([OrderedList],{
    1515        baseClass: 'rftAccountListView',
    1616        type: 'account',
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/CategoryListView.js

    r396 r407  
    33    'dojo/_base/lang',
    44    '../LineWithActionsWidget',
    5     './List',
    6     ],function(
    7         declare,
    8         lang,
    9         LineWithActionsWidget,
    10         List
    11         ) {
    12         return declare('rft.ui.lists.CategoryListView',[List],{
    13             baseClass: 'rftLineListView',
     5    './List'
     6],function(
     7    declare,
     8    lang,
     9    LineWithActionsWidget,
     10    List
     11) {
     12    return declare([List],{
     13        baseClass: 'rftLineListView',
    1414
    15             _createAvatarNode: function(item) {
    16                 var node = document.createElement("div");
    17                 node.className = "dragAvatar";
    18                 node.innerHTML = item.title;
    19                 return node;
    20             },
     15        _createAvatarNode: function(item) {
     16            var node = document.createElement("div");
     17            node.className = "dragAvatar";
     18            node.innerHTML = item.title;
     19            return node;
     20        },
    2121
    22             _createListNode: function(item) {
    23                 var w = new LineWithActionsWidget({
    24                     title: item,
    25                     'class': "orange",
    26                     actions: {
    27                         "Remove" : {
    28                             callback: lang.hitch(this, function() {
    29                                 this.removeItem(item, w);
    30                             }),
    31                             properties: {
    32                                 blockButton: false,
    33                                 icon: "Delete"
    34                             }
     22        _createListNode: function(item) {
     23            var w = new LineWithActionsWidget({
     24                title: item,
     25                'class': "orange",
     26                actions: {
     27                    "Remove" : {
     28                        callback: lang.hitch(this, function() {
     29                            this.removeItem(item, w);
     30                        }),
     31                        properties: {
     32                            blockButton: false,
     33                            icon: "Delete"
    3534                        }
    3635                    }
    37                 });
    38                 w.startup();
    39                 return w.domNode;
    40             }
     36                }
     37            });
     38            w.startup();
     39            return w.domNode;
     40        }
    4141
    42         });
    4342    });
     43});
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/List.js

    r405 r407  
    1919    BorderContainer,
    2020    templateString){
    21     return declare('rft.ui.lists.List',[BorderContainer,_TemplatedMixin,_WidgetsInTemplateMixin],{
     21    return declare([BorderContainer,_TemplatedMixin,_WidgetsInTemplateMixin],{
    2222        templateString: templateString,
    2323        baseClass: 'rftList',
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/MultipleChoiceListView.js

    r406 r407  
    1212    OrderedList
    1313    ) {
    14     return declare('rft.ui.lists.MultipleChoiceListView',[OrderedList],{
     14    return declare([OrderedList],{
    1515        baseClass: 'rftMultipleChoiceListView',
    1616        type: 'multipleChoiceOption',
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/OrderedList.js

    r405 r407  
    1212        templateString
    1313        ){
    14         return declare('rft.ui.lists.OrderedList',[List],{
     14        return declare([List],{
    1515            templateString: templateString,
    1616            baseClass: 'rftLineListView',
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/QuestionListView.js

    r406 r407  
    1212    OrderedList
    1313){
    14     return declare('rft.ui.lists.QuestionListView',[OrderedList],{
     14    return declare([OrderedList],{
    1515        baseClass: 'rftSurveyListView',
    1616        type: 'question',
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/_EditableListMixin.js

    r404 r407  
    44    'dijit/registry'
    55],function(declare,lang,registry){
    6     return declare('rft.ui.lists._EditableListMixin',null,{
     6    return declare(null,{
    77        getItems: function() {
    88            return this.source.getAllNodes()
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/templates/List.html

    r389 r407  
    11<div>
    2         <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region: 'top'">
     2        <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region: 'top'">
    33                <h3 data-dojo-attach-point="titleNode"></h3>
    44        </div>
    5         <div data-dojo-type="dijit.layout.ContentPane"
     5        <div data-dojo-type="dijit/layout/ContentPane"
    66             data-dojo-props="region: 'center'"
    77             data-dojo-attach-point="sourceNode"
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/templates/OrderedList.html

    r389 r407  
    11<div>
    2         <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region: 'top'">
     2        <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region: 'top'">
    33                <h3 data-dojo-attach-point="titleNode"></h3>
    44        </div>
    5         <div data-dojo-type="dijit.layout.ContentPane"
     5        <div data-dojo-type="dijit/layout/ContentPane"
    66             data-dojo-props="region: 'center'"
    77             data-dojo-attach-point="sourceNode"
    88             class="${baseClass}Content">
    99        </div>
    10         <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region: 'bottom'" data-dojo-attach-point="buttonsNode">
     10        <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region: 'bottom'" data-dojo-attach-point="buttonsNode">
    1111                    <span>Move selected: </span>
    1212                    <button data-dojo-attach-point="btnListMoveUp" ></button>
  • Dev/branches/rest-dojo-ui/client/rft/ui/templates/LoginDialog.html

    r390 r407  
    77    </div>
    88    <div data-dojo-attach-point="containerNode">
    9         <form data-dojo-type="dijit.form.Form" data-dojo-attach-point="loginForm">
     9        <form data-dojo-type="dijit/form/Form" data-dojo-attach-point="loginForm">
    1010            <fieldset>
    1111                <label for="email" class="loginLabel">Email</label>
    12                 <input data-dojo-type="dijit.form.TextBox" name="email" type="text" class="loginInput" />
     12                <input data-dojo-type="dijit/form/TextBox" name="email" type="text" class="loginInput" />
    1313                <label for="password" class="loginLabel">Password</label>
    14                 <input data-dojo-type="dijit.form.TextBox" name="password" type="password" class="loginInput" />
     14                <input data-dojo-type="dijit/form/TextBox" name="password" type="password" class="loginInput" />
    1515            </fieldset>
    1616            <div style="float: right;">
    17                 <button type="button" data-dojo-type="dijit.form.Button" data-dojo-attach-event="onClick:onRegister">Register</button>
    18                 <button type="submit" data-dojo-type="dijit.form.Button" data-dojo-attach-event="onClick:onLogin">Login</button>
     17                <button type="button" data-dojo-type="dijit/form/Button" data-dojo-attach-event="onClick:onRegister">Register</button>
     18                <button type="submit" data-dojo-type="dijit/form/Button" data-dojo-attach-event="onClick:onLogin">Login</button>
    1919            </div>
    2020        </form>
  • Dev/branches/rest-dojo-ui/client/rft/ui/templates/MainMenu.html

    r403 r407  
    11<div class="mainMenu">
    2     <div  data-dojo-type="dijit.MenuBar">
    3         <div class="rftMainMenuButton" data-dojo-type="rft.ui.MenuBarLink" data-dojo-props="pageId:'sessions'">Sessions</div>
    4         <div class="rftMainMenuButton" data-dojo-type="dijit.PopupMenuBarItem">
     2    <div  data-dojo-type="dijit/MenuBar">
     3        <div class="rftMainMenuButton" data-dojo-type="rft/ui/MenuBarLink" data-dojo-props="path:'/sessions'">Sessions</div>
     4        <div class="rftMainMenuButton" data-dojo-type="dijit/PopupMenuBarItem">
    55            <span>Content</span>
    6             <div data-dojo-type="dijit.DropDownMenu">
    7                 <div data-dojo-type="rft.ui.MenuLink" class="blue bgColorHover" data-dojo-props="pageId:'surveys', iconClass:'rftIcon rftIconSurvey'">Surveys</div>
    8                 <div data-dojo-type="rft.ui.MenuLink" class="orange bgColorHover" data-dojo-props="pageId:'questions', iconClass:'rftIcon rftIconQuestion'">Questions</div>
    9                 <div data-dojo-type="rft.ui.MenuLink" class="purple bgColorHover" data-dojo-props="pageId:'applications', iconClass: 'rftIcon rftIconApplication'">Applications</div>
    10                 <div data-dojo-type="rft.ui.MenuLink" class="red bgColorHover" data-dojo-props="pageId:'dashboards', iconClass: 'rftIcon rftIconDashboard'">Dashboards</div>
     6            <div data-dojo-type="dijit/DropDownMenu">
     7                <div data-dojo-type="rft/ui/MenuLink" class="blue bgColorHover" data-dojo-props="path:'/surveys', iconClass:'rftIcon rftIconSurvey'">Surveys</div>
     8                <div data-dojo-type="rft/ui/MenuLink" class="orange bgColorHover" data-dojo-props="path:'/questions', iconClass:'rftIcon rftIconQuestion'">Questions</div>
     9                <div data-dojo-type="rft/ui/MenuLink" class="purple bgColorHover" data-dojo-props="path:'/applications', iconClass: 'rftIcon rftIconApplication'">Applications</div>
     10                <div data-dojo-type="rft/ui/MenuLink" class="red bgColorHover" data-dojo-props="path:'/dashboards', iconClass: 'rftIcon rftIconDashboard'">Dashboards</div>
    1111            </div>
    1212        </div>
    13         <div class="rftMainMenuButton" data-dojo-type="rft.ui.MenuBarLink" data-dojo-props="pageId:'results'">Results</div>
    14         <div class="rftMainMenuButton" data-dojo-type="rft.ui.MenuBarLink" id="loginMenu">Logout</div>
     13        <div class="rftMainMenuButton" data-dojo-type="rft/ui/MenuBarLink" data-dojo-props="path:'/results'">Results</div>
     14        <div class="rftMainMenuButton" data-dojo-type="rft/ui/MenuBarLink" id="loginMenu">Logout</div>
    1515    </div>
    1616</div>
  • Dev/branches/rest-dojo-ui/client/rft/ui/templates/MultipleChoiceWidget.html

    r311 r407  
    33    </div>
    44    <div data-dojo-attach-point="buttons" class="row">
    5         <div><span class="rowBox"/><span class="rowText"/><span class="rowBtn"/><button data-dojo-type="dijit.form.Button" type="button" data-dojo-attach-event="onClick:_onAddRow" class="rowBtn">+</button></div>
     5        <div><span class="rowBox"/><span class="rowText"/><span class="rowBtn"/><button data-dojo-type="dijit/form/Button" type="button" data-dojo-attach-event="onClick:_onAddRow" class="rowBtn">+</button></div>
    66    </div>
    77</div>
  • Dev/branches/rest-dojo-ui/client/rft/ui/templates/QuestionEditorPreviewItem.html

    r397 r407  
    33                <span class="title" data-dojo-attach-point="titleNode">Default title</span>
    44                <span class="floatRight" data-dojo-attach-point="buttonsNode">
    5                         <button class="trans bg inheritBgColor" data-dojo-type="dijit.form.Button" data-dojo-attach-point="editButtonNode" data-dojo-props="baseClass: 'rftBlockButton', iconClass: 'rftIcon rftIconEdit'">Edit</button>
    6                         <button class="trans bg inheritBgColor" data-dojo-type="dijit.form.Button" data-dojo-attach-point="foldButtonNode" data-dojo-props="baseClass: 'rftBlockButton', showLabel: false, iconClass: 'rftIcon rftIconHalfArrowUp'">Fold</button>
    7                         <button class="trans bg inheritBgColor" data-dojo-type="dijit.form.Button" data-dojo-attach-point="removeButtonNode" data-dojo-props="baseClass: 'rftBlockButton', showLabel: false, iconClass: 'rftIcon rftIconDelete'">Remove</button>
     5                        <button class="trans bg inheritBgColor" data-dojo-type="dijit/form/Button" data-dojo-attach-point="editButtonNode" data-dojo-props="baseClass: 'rftBlockButton', iconClass: 'rftIcon rftIconEdit'">Edit</button>
     6                        <button class="trans bg inheritBgColor" data-dojo-type="dijit/form/Button" data-dojo-attach-point="foldButtonNode" data-dojo-props="baseClass: 'rftBlockButton', showLabel: false, iconClass: 'rftIcon rftIconHalfArrowUp'">Fold</button>
     7                        <button class="trans bg inheritBgColor" data-dojo-type="dijit/form/Button" data-dojo-attach-point="removeButtonNode" data-dojo-props="baseClass: 'rftBlockButton', showLabel: false, iconClass: 'rftIcon rftIconDelete'">Remove</button>
    88                </span>
    99        </div>
  • Dev/branches/rest-dojo-ui/client/rft/ui/templates/QuestionEditorToolkit.html

    r404 r407  
    11<div>
    2         <div data-dojo-type="dojox.widget.TitleGroup">
    3                 <div data-dojo-type="dijit.TitlePane" class="orange" data-dojo-props="open:true" title="Properties" data-dojo-props="iconClass:'rftIcon rftIconProperties'">
    4             <div data-dojo-type="dijit.form.Form" data-dojo-attach-point="propertiesForm">
     2        <div data-dojo-type="dojox/widget/TitleGroup">
     3                <div data-dojo-type="dijit/TitlePane" class="orange" data-dojo-props="open:true" title="Properties" data-dojo-props="iconClass:'rftIcon rftIconProperties'">
     4            <div data-dojo-type="dijit/form/Form" data-dojo-attach-point="propertiesForm">
    55                                <fieldset class="align">
    6                                         <label>Title:</label><input data-dojo-type="dijit.form.TextBox" name="title"/>
    7                                         <label>Code:</label><input data-dojo-type="dijit.form.TextBox" name= "code"/>
     6                                        <label>Title:</label><input data-dojo-type="dijit/form/TextBox" name="title"/>
     7                                        <label>Code:</label><input data-dojo-type="dijit/form/TextBox" name= "code"/>
    88                                        <label>Categories:</label>
    99                                        <div data-dojo-attach-point="listNode" class="rftLineListView"></div>
    1010                                        <div data-dojo-attach-point="categoriesBoxNode"></div>
    11                                         <button class="inheritBgColor" data-dojo-type="dijit.form.Button" data-dojo-attach-event="onClick:onCategoryAdd" data-dojo-props="baseClass:'rftBlockButton', iconClass: 'rftIcon rftIconPlus'">Add</button><br>
     11                                        <button class="inheritBgColor" data-dojo-type="dijit/form/Button" data-dojo-attach-event="onClick:onCategoryAdd" data-dojo-props="baseClass:'rftBlockButton', iconClass: 'rftIcon rftIconPlus'">Add</button><br>
    1212                                        <label>Topic:</label>
    1313                                        <div data-dojo-attach-point="topicBoxNode"></div>
    14                                         <label>Description:</label><textarea data-dojo-type="dijit.form.Textarea" name="description"></textarea>
     14                                        <label>Description:</label><textarea data-dojo-type="dijit/form/Textarea" name="description"></textarea>
    1515                                </fieldset>
    1616                        </div>
    1717                </div>
    1818
    19                 <div data-dojo-type="dijit.TitlePane" title="Content" data-dojo-props="iconClass:'rftIcon rftIconPlus', open:false">
     19                <div data-dojo-type="dijit/TitlePane" title="Content" data-dojo-props="iconClass:'rftIcon rftIconPlus', open:false">
    2020                        <div data-dojo-attach-point="ToolkitContentSourceNode">
    2121                               
     
    2323                </div>
    2424
    25                 <div data-dojo-type="dijit.TitlePane" title="Inputs" data-dojo-props="iconClass:'rftIcon rftIconInput', open:false">
     25                <div data-dojo-type="dijit/TitlePane" title="Inputs" data-dojo-props="iconClass:'rftIcon rftIconInput', open:false">
    2626                        <div data-dojo-attach-point="ToolkitInputsSourceNode">
    2727                               
  • Dev/branches/rest-dojo-ui/client/rft/ui/templates/QuestionWidget.html

    r343 r407  
    11<div>
    2     <form data-dojo-type="dijit.form.Form" data-dojo-attach-point="ourForm">
     2    <form data-dojo-type="dijit/form/Form" data-dojo-attach-point="ourForm">
    33        <fieldset>
    44            <label for="code" class="loginLabel">Code</label>
    5             <input data-dojo-type="dijit.form.TextBox" name="code" type="text" class="loginInput" />
     5            <input data-dojo-type="dijit/form/TextBox" name="code" type="text" class="loginInput" />
    66            <label for="question" class="loginLabel">Title</label>
    7             <input data-dojo-type="dijit.form.TextBox" name="title" type="text" class="loginInput" />
     7            <input data-dojo-type="dijit/form/TextBox" name="title" type="text" class="loginInput" />
    88            <label for="question" class="loginLabel">Description</label>
    9             <input data-dojo-type="dijit.form.Textarea" name="description" type="text" class="loginInput"/>
     9            <input data-dojo-type="dijit/form/Textarea" name="description" type="text" class="loginInput"/>
    1010            <label for="category" class="loginLabel">Category</label>
    11             <input data-dojo-type="dijit.form.TextBox" name="category" type="text" class="loginInput" />
     11            <input data-dojo-type="dijit/form/TextBox" name="category" type="text" class="loginInput" />
    1212        </fieldset>
    1313        <fieldset>
    14             <select data-dojo-type="dijit.form.Select" data-dojo-attach-point="scaleSelector" data-dojo-attach-event="onChange:_onTypeChange" name="scale">
     14            <select data-dojo-type="dijit/form/Select" data-dojo-attach-point="scaleSelector" data-dojo-attach-event="onChange:_onTypeChange" name="scale">
    1515                <option value="string" selected>String</option>
    1616                <option value="text">Text</option>
  • Dev/branches/rest-dojo-ui/client/rft/ui/templates/SessionBar.html

    r396 r407  
    11<div class="${baseClass}">
    22    <span class="rftIcon rftIconSession" data-dojo-attach-point="iconNode"></span>
    3     <div data-dojo-type="rft.ui.LineWithActionsWidget" data-dojo-attach-point="upperNode" data-dojo-props="actions: {'inspect':{callback: inspect, properties: {blockButton: true}}}"></div>
    4     <div data-dojo-type="rft.ui.LineWithActionsWidget" data-dojo-attach-point="lowerNode"></div>
     3    <div data-dojo-type="rft/ui/LineWithActionsWidget" data-dojo-attach-point="upperNode" data-dojo-props="actions: {'inspect':{callback: inspect, properties: {blockButton: true}}}"></div>
     4    <div data-dojo-type="rft/ui/LineWithActionsWidget" data-dojo-attach-point="lowerNode"></div>
    55</div>
Note: See TracChangeset for help on using the changeset viewer.