Changeset 389


Ignore:
Timestamp:
08/06/12 17:39:05 (13 years ago)
Author:
hendrikvanantwerpen
Message:
Location:
Dev/branches/rest-dojo-ui/client/rft
Files:
3 added
3 deleted
8 edited
9 moved

Legend:

Unmodified
Added
Removed
  • Dev/branches/rest-dojo-ui/client/rft/pages/question.js

    r388 r389  
    3232            },
    3333            _refresh: function () {
    34                 this._toolkit.loadQuestion(this.question);
    35                 this._preview.insertObjects(this.question.content || []);
     34                this._toolkit.set('value',this.question);
     35                this._preview.appendItems(this.question.content || []);
    3636            },
    3737            _onSave: function() {
    38                 lang.mixin(this.question, this._toolkit.propertiesForm.get('value'));
    39                 this.question.categories = this._toolkit._categories;
    40                 this.question.content = this._preview.getContent();
     38                lang.mixin(this.question, this._toolkit.get('value'));
     39                this.question.content = this._preview.getItems();
    4140                store.put(this.question)
    4241                .then(function() {
  • Dev/branches/rest-dojo-ui/client/rft/pages/session.js

    r384 r389  
    55    'dojo/_base/event',
    66    'dojo/_base/Deferred',
    7     'rft/elastic/ElasticSearchFilteringSelect',
    8     'rft/elastic/ElasticReadStore',
    9     'rft/store',
    10     'rft/ui/_Page',
    11     'rft/content',
    12     'rft/ui/AccountListView'
     7    '../content',
     8    '../store',
     9    '../elastic/ElasticSearchFilteringSelect',
     10    '../elastic/ElasticReadStore',
     11    '../ui/_Page',
     12    '../ui/lists/AccountListView'
    1313    ],
    1414    function(array,declare,lang,event,Deferred,ElasticSearchFilteringSelect,ElasticReadStore,store,_Page,content,AccountListView){
  • Dev/branches/rest-dojo-ui/client/rft/pages/survey.js

    r386 r389  
    55    'dojo/_base/event',
    66    'dojo/_base/lang',
    7     'rft/content',
    8     'rft/store',
    9     'rft/ui/_Page',
    10     'rft/ui/QuestionListView',
    11     'rft/ui/TabbedQuestionBrowser'
     7    '../content',
     8    '../store',
     9    '../ui/_Page',
     10    '../ui/lists/QuestionListView',
     11    '../ui/TabbedQuestionBrowser'
    1212    ],
    1313    function(array,declare,Deferred,event,lang,content,store,_Page,
  • Dev/branches/rest-dojo-ui/client/rft/run.js

    r382 r389  
    3131    'dijit/form/Textarea',
    3232    'dijit/form/TextBox',
     33
    3334    'dojox/grid/DataGrid',
    34     'dojox/widget/TitleGroup',
    35     'rft/ui/AccountListView',
     35
    3636    'rft/ui/LineWithActionsWidget',
    37     'rft/ui/List',
    3837    'rft/ui/MainMenu',
    3938    'rft/ui/MenuBarLink',
     
    4140    'rft/ui/Notifications',
    4241    'rft/ui/ObjectBox',
    43     'rft/ui/OrderedList',
    4442    'rft/ui/QuestionWidget',
    4543    'rft/ui/Selector',
    4644    'rft/ui/TitleGroup',
     45    'rft/ui/lists/AccountListView',
     46    'rft/ui/lists/List',
     47    'rft/ui/lists/OrderedList',
    4748
    4849    // pages -> load dynamically?
  • Dev/branches/rest-dojo-ui/client/rft/ui/QuestionEditorPreview.js

    r388 r389  
    22    'dojo/_base/declare',
    33    'dojo/_base/lang',
    4     'dojo/dnd/Source',
    54    'dojo/dom-construct',
    6     'dijit/layout/ContentPane',
    7     'rft/ui/QuestionEditorPreviewItem',
    8     'dojo/text!./templates/QuestionEditorPreview.html'
    9     ], function(declare, lang, Source, domConstruct, ContentPane, QuestionEditorPreviewItem, template) {
    10         return declare("rft.ui.QuestionEditorPreview", [ContentPane], {
     5    'dijit/registry',
     6    './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',
    1112
    12             templateString: template,
    13             'class': 'surveyEditorPreview',
    14             dndSource: null,
    15 
    16             startup: function(){
    17                 this.inherited(arguments);
    18                 this.dndSource = new Source(this.domNode, {
    19                     accept: ["questionContent"],
    20                     skipForm: true,
    21                     creator: lang.hitch(this, this._sourceCreatorMethod)
     13            _createAvatarNode: function(item) {
     14                return domConstruct.create("span",{
     15                    innerHTML: item.type || "Dragging!!!"
    2216                });
    23                 this.dndSource.startup();
    2417            },
    25             _sourceCreatorMethod: function(item, hint){
    26                 var node;
    27                 switch(hint){
    28                 case "avatar":
    29                     node = domConstruct.create("span",{
    30                         innerHTML: item.type || "Dragging!!!"
    31                     });
    32                 default:
    33                     var previewItem = new QuestionEditorPreviewItem({
    34                         item: item.content
    35                     });
    36                     node = previewItem.domNode;
    37                 }               
    38                 return {node: node, data: item, type: ["questionContent"]};
     18            _createListNode: function(item) {
     19                var previewItem = new QuestionEditorPreviewItem({
     20                    item: item
     21                });
     22                previewItem.on('close',lang.hitch(this,'removeItem',item));
     23                previewItem.startup();
     24                return previewItem.domNode;
    3925            },
    40             insertObjects: function(/*Array*/items) {
    41                 this.dndSource.insertNodes(false, items);
    42             },
    43             getContent: function() {
    44                 var content = [];
    45                 var nodes = this.dndSource.getAllNodes();
    46                 for (var i = 0; i < nodes.length; i++) {
    47                     content.push(this.dndSource.getItem(nodes[i].id).data.getContent());
    48                 }
    49                 return content;
    50             },
    51             getNodeList: function() {
    52                 return this.dndSource.getAllNodes();
    53             },
    54             onDropInternal: function() {
    55                 topic.publish("/QuestionEditor/Preview/MoveItem");
    56             },
    57             onDropExternal: function() {
    58                 // This is fired when something from the Toolkit is dropped into the Preview -- add operation.
    59                 topic.publish("/QuestionEditor/Preview/AddItem");
     26            getItems: function() {
     27                return this.source.getAllNodes()
     28                .map(function(node){
     29                    return registry.byNode(node).get('value');
     30                },this);
    6031            }
    61 
    6232        });
    6333    });
  • Dev/branches/rest-dojo-ui/client/rft/ui/QuestionEditorPreviewItem.js

    r387 r389  
    55    'dojo/dom-class',
    66    'dojo/on',
     7    'dijit/_Container',
    78    'dijit/_TemplatedMixin',
    89    'dijit/_WidgetBase',
    910    'dijit/_WidgetsInTemplateMixin',
    10     'rft/ui/ContentWidgetFactory',
     11    './content/ContentWidgetFactory',
    1112    'dojo/text!./templates/QuestionEditorPreviewItem.html',
    12     ], function(declare, fx, lang, domClass, on, _TemplatedMixin, _WidgetBase, _WidgetsInTemplateMixin, ContentWidgetFactory, template) {
    13         return declare("rft.ui.QuestionEditorPreviewItem", [_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin], {
    14 
     13    ], function(declare, fx, lang, domClass, on, _Container, _TemplatedMixin, _WidgetBase, _WidgetsInTemplateMixin, ContentWidgetFactory, template) {
     14        return declare("rft.ui.QuestionEditorPreviewItem", [_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, _Container], {
    1515            version: "full",
    1616            templateString: template,
    1717            baseClass: "surveyEditorPreviewItem",
    1818            previousContentHeight: 200,
     19            item: null,
    1920            innerWidget: null,
    2021            foldDuration: [250, 250],
     
    2223            _editing: false,
    2324
    24             postCreate: function() {
     25            startup: function() {
    2526                this.inherited(arguments);
    2627                this.foldButtonNode.onClick = lang.hitch(this, this.toggleFold);
    27                 this.removeButtonNode.onClick = lang.hitch(this, this.removeObject);
     28                this.removeButtonNode.onClick = lang.hitch(this, "onClose");
    2829                this.editButtonNode.onClick = lang.hitch(this, this.toggleEdit);
    2930                if (this.item) {
    30                     this._createInnerWidget();
     31                    this._showViewWidget();
    3132                } else {
    32                     throw "No data supplied to create an innerWidget off of!";
     33                    throw "No data supplied to create an innerWidget!";
    3334                }
    34 
    35                 on(this.innerWidget, "onSetTitle", function(title) {
    36                     this.titleNode.innerHTML = title;
    37                 });
     35            },
     36            _destroyInnerWidget: function() {
     37                if ( this.innerWidget !== null ) {
     38                    this.innerWidget.destroyRecursive();
     39                }
     40            },
     41            _showViewWidget: function() {
     42                var factory = new ContentWidgetFactory();
     43                this.innerWidget = factory.createViewWidget( this.item );
     44                if ( this.innerWidget !== null ) {
     45                    this.innerWidget.placeAt(this.containerNode);
     46                    this.innerWidget.startup();
     47                }
     48                this.titleNode.innerHTML = "[preview]";
     49            },
     50            _showEditWidget: function() {
     51                var factory = new ContentWidgetFactory();
     52                this.innerWidget = factory.createEditWidget( this.item );
     53                if ( this.innerWidget !== null ) {
     54                    this.innerWidget.placeAt(this.containerNode);
     55                    this.innerWidget.startup();
     56                }
     57                this.titleNode.innerHTML = "[editing]";
     58            },
     59            onClose: function() {},
     60            _getValueAttr: function(value) {
     61                return this.item;
     62            },
     63            _setValueAttr: function(value) {
     64                this.item = value;
     65                this._destroyInnerWidget();
     66                if ( this._editing ) {
     67                    this._showEditWidget();
     68                } else {
     69                    this._showViewWidget();
     70                }
    3871            },
    3972            toggleEdit: function() {
    4073                if(this._editing) {
     74                    if ( this.innerWidget !== null ) {
     75                        this.item = this.innerWidget.get('value');
     76                    }
     77                    this._destroyInnerWidget();
     78                    this._showViewWidget();
    4179                    this.editButtonNode.iconNode.className = this.editButtonNode.iconNode.className.replace("rftIconAccept", "rftIconEdit");
    4280                    this.editButtonNode.set("label", "Edit");
    43                     this.innerWidget.save();
    44                 }
    45                 else {
     81                } else {
     82                    this._destroyInnerWidget();
     83                    this._showEditWidget();
    4684                    this.editButtonNode.iconNode.className = this.editButtonNode.iconNode.className.replace("rftIconEdit", "rftIconAccept");
    4785                    this.editButtonNode.set("label", "Save");
    48                     this.innerWidget.edit();
    4986                }
    5087                this._editing = !this._editing;
     
    81118                    }
    82119                }
    83             },
    84             getContent: function() {
    85                 return this.innerWidget.getObject();
    86             },
    87             removeObject: function(evt) {
    88                 this.destroyRecursive();
    89             },
    90             _createInnerWidget: function() {
    91                 this.innerWidget = new ContentWidgetFactory().createWidget( this.item );
    92                 this.innerWidget.placeAt(this.containerNode);
    93                 this.innerWidget.startup();
    94120            }
    95121
  • Dev/branches/rest-dojo-ui/client/rft/ui/QuestionEditorToolkit.js

    r387 r389  
    1111    'dijit/form/Button',
    1212    'dijit/form/ComboBox',
    13     'rft/store',
    14     'rft/ui/CategoryListView',
     13    '../store',
     14    './lists/CategoryListView',
    1515    'dojo/text!./templates/QuestionEditorToolkit.html'
    1616    ], function(declare, lang, Source, domConstruct, Memory, _Container, _TemplatedMixin, _WidgetBase, _WidgetsInTemplateMixin, Button, ComboBox, store, CategoryListView, template) {
     
    107107                this.inputsSource.insertNodes(false, this._inputsItems);
    108108            },
    109             loadQuestion: function(question) {
     109            _setValueAttr: function(question) {
    110110                this.propertiesForm.set('value', question);
    111111                this._categories = question.categories;
     
    113113                this._setupCategories();
    114114                this._setupTopic(question.topic);
     115            },
     116            _getValueAttr: function() {
     117                var value = this.propertiesForm.get('value');
     118                value.categories = this._categories;
     119                return value;
    115120            },
    116121            onCategoryAdd: function() {
     
    134139                    node = w.domNode;
    135140                }
    136                 return {node: node, data: item, type: ["questionContent"]};
     141                return {node: node, data: item.content, type: ["questionContent"]};
    137142            },
    138143            _setupListView: function() {
  • Dev/branches/rest-dojo-ui/client/rft/ui/content/ContentWidgetFactory.js

    r388 r389  
    99    'dojox/layout/TableContainer'
    1010    ],function(declare, lang, NumberSpinner, Textarea, TextBox, StackContainer, CheckedMultiSelect, TableContainer) {
    11         var factory = declare('rft.ui.ContentWidgetFactory', [], {
     11        var factory = declare('rft.ui.content.ContentWidgetFactory', [], {
    1212            /* No default type, all should be valid */
    13             createWidget: function(/*Object*/ content) {
     13            createViewWidget: function(/*Object*/options) {
    1414                // options: Object
    1515                //            type: "header", "text", textinput, etc.
    16                 //            contents: "text"
    17                 //            disabled: bool
    18                 return this['create'+content.type+'Widget'](content);
    19             },
    20             createHeaderWidget: function(options) {
    21                 var headerWidget = new HeaderItem();
    22                 headerWidget.setObject(options);
    23                 return headerWidget;
    24             },
    25             createTextWidget: function(options) {
    26                 var textWidget = new TextItem();
    27                 textWidget.setObject(options);
    28                 return textWidget;
    29             },
    30             createFreeTextInputWidget: function(options) {
    31                 return new FreeTextInput();
    32             },
    33             createIntegerInputWidget: function(options) {
    34                 var integerWidget = new IntegerInput();
    35                 integerWidget.setObject(options);
    36                 return integerWidget;
    37             },
    38             createMultipleChoiceInputWidget: function(options) {
    39                 var mcWidget = new MultipleChoiceInput();
    40                 mcWidget.setObject(options);
    41                 return mcWidget;
    42             }
     16                //            other type specific fields
     17                var fun = this['create'+options.type+'ViewWidget'];
     18                return fun !== undefined ? fun(options) : null;
     19            },
     20            createEditWidget: function(/*Object*/options) {
     21                var fun = this['create'+options.type+'EditWidget'];
     22                return fun !== undefined ? fun(options) : null;
     23            },
     24
     25            createHeaderViewWidget: function(options) {
     26                return new HeaderViewItem({
     27                    options: options
     28                });
     29            },
     30            createHeaderEditWidget: function(options) {
     31                return null;
     32            }/*,
     33
     34            createTextViewWidget: function(options) {
     35                return new TextViewItem({
     36                    options: options
     37                });
     38            },
     39            createTextEditWidget: function(options) {
     40                return new TextEditItem({
     41                    options: options
     42                });
     43            },
     44
     45            createFreeTextViewWidget: function(options) {
     46                return new FreeTextViewItem({
     47                    options: options
     48                });
     49            },
     50            createFreeTextEditWidget: function(options) {
     51                return new FreeTextEditItem({
     52                    options: options
     53                });
     54            },
     55
     56            createIntegerViewWidget: function(options) {
     57                return new IntegerViewItem({
     58                    options: options
     59                });
     60            },
     61            createIntegerEditWidget: function(options) {
     62                return new IntegerEditItem({
     63                    options: options
     64                });
     65            },
     66
     67            createMultipleChoiceViewWidget: function(options) {
     68                return new MultipleChoiceViewItem({
     69                    options: options
     70                });
     71            },
     72            createMultipleChoiceEditWidget: function(options) {
     73                return new MultipleChoiceEditItem({
     74                    options: options
     75                });
     76            }*/
    4377        });
    4478
    4579        /* Contents */
    46         var HeaderItem = declare(TextBox, {
    47             getObject: function() {
    48                 return { type : 'Header',
    49                          contents: this.get('value'),
    50                          disabled: this.get('disabled')
    51                 };
    52             },
    53             setObject: function(object) {
    54                 this.set('value', object.contents);
    55                 if (object.disabled) {
    56                     this.set('disabled', true);
    57                 }
     80        var HeaderViewItem = declare(TextBox, {
     81            _setValueAttr: function(value) {
     82            },
     83            _getValueAttr: function() {
     84                return {};
    5885            }
    5986        });
     
    84111        var MultipleChoiceInput = declare(StackContainer, {
    85112            _multiSelect: null,
    86             postCreate: function() {
     113            startup: function() {
    87114                this.inherited(arguments);
    88115                this._multiSelect = new CheckedMultiSelect();
     
    110137            _editWidgets: null,
    111138            _editTable: null,
    112             postCreate: function() {
     139            startup: function() {
    113140                this.inherited(arguments);
    114141                this._numberSpinner = new NumberSpinner( { title: "Answer", value: 0, constraints: { min: -100, max: 100 } });   
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/AccountListView.js

    r388 r389  
    33        'dojo/_base/lang',
    44    'dojo/dom-construct',
    5     'rft/ui/LineWithActionsWidget',
    6     'rft/ui/OrderedList'
     5    '../LineWithActionsWidget',
     6    './OrderedList'
    77        ],function(
    88        declare,
     
    1212        OrderedList
    1313                ) {
    14         return declare('rft.ui.AccountListView',[OrderedList],{
     14        return declare('rft.ui.lists.AccountListView',[OrderedList],{
    1515            baseClass: 'rftAccountListView',
    1616            type: 'account',
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/CategoryListView.js

    r388 r389  
    22    'dojo/_base/declare',
    33    'dojo/_base/lang',
    4     'rft/ui/LineWithActionsWidget',
    5     'rft/ui/List',
     4    '../LineWithActionsWidget',
     5    './List',
    66    ],function(
    77        declare,
     
    1010        List
    1111        ) {
    12         return declare('rft.ui.CategoryListView',[List],{
     12        return declare('rft.ui.lists.CategoryListView',[List],{
    1313            baseClass: 'rftLineListView',
    1414
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/List.js

    r388 r389  
    33    'dojo/_base/lang',
    44    'dojo/dnd/Source',
    5     'dijit/_Container',
    65    'dijit/_TemplatedMixin',
    76    'dijit/_WidgetBase',
    87    'dijit/_WidgetsInTemplateMixin',
    98    'dijit/registry',
     9    'dijit/layout/BorderContainer',
    1010    'dojo/text!./templates/List.html'
    1111    ],function(
     
    1313        lang,
    1414        Source,
    15         _Container,
    1615        _TemplatedMixin,
    1716        _WidgetBase,
    1817        _WidgetsInTemplateMixin,
    1918        registry,
     19        BorderContainer,
    2020        templateString
    2121        ){
    22         return declare('rft.ui.List',[_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,_Container],{
     22        return declare('rft.ui.lists.List',[BorderContainer,_TemplatedMixin,_WidgetsInTemplateMixin],{
    2323            templateString: templateString,
    2424            baseClass: 'rftList',
     
    2727            source: null,
    2828
    29             postCreate: function() {
     29            startup: function() {
     30                this.inherited(arguments);
     31
    3032                if (this.title) {
    3133                    this.titleNode.innerHTML = this.title;
    32                 } else {
    33                     this.domNode.removeChild(this.titleNode);
    3434                }
    3535
    36                 this.source = new Source(this.sourceNode, {
     36                this.source = new Source(this.sourceNode.domNode, {
    3737                    accept: [this.type],
    3838                    singular: true,
     
    4444                var node = hint === "avatar" ?
    4545                        this._createAvatarNode(item) : this._createListNode(item);
    46                 return {
     46                return node && {
    4747                    node: node,
    4848                    data: item,
     
    5555            appendItem: function(item) {
    5656                this.source.insertNodes(false,[item]);
     57            },
     58            appendItems: function(items) {
     59                this.source.insertNodes(false,items);
    5760            },
    5861
     
    7881                }))
    7982                .forEach(lang.hitch(this,function(node){
    80                     registry.byNode(node).destroy();
     83                    registry.byNode(node).destroyRecursive();
    8184                    this.removeCallback && this.removeCallback(item);
    8285                }));
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/MultipleChoiceListView.js

    r388 r389  
    33    'dojo/_base/lang',
    44    'dojo/dom-construct',
    5     'rft/ui/LineWithActionsWidget',
    6     'rft/ui/OrderedList'
     5    '../LineWithActionsWidget',
     6    './OrderedList'
    77    ],function(
    88        declare,
     
    1212        OrderedList
    1313        ) {
    14         return declare('rft.ui.MultipleChoiceListView',[OrderedList],{
     14        return declare('rft.ui.lists.MultipleChoiceListView',[OrderedList],{
    1515            baseClass: 'rftMultipleChoiceListView',
    1616            type: 'multipleChoiceOption',
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/OrderedList.js

    r388 r389  
    33    'dojo/_base/lang',
    44    'dijit/form/Button',
    5     'rft/ui/List',
     5    './List',
    66    'dojo/text!./templates/OrderedList.html'
    77    ],function(
     
    1212        templateString
    1313        ){
    14         return declare('rft.ui.OrderedList',[List],{
     14        return declare('rft.ui.lists.OrderedList',[List],{
    1515            templateString: templateString,
    1616            baseClass: 'rftLineListView',
    1717
    18             postCreate: function() {
     18            startup: function() {
    1919                this.inherited(arguments);
    2020
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/QuestionListView.js

    r388 r389  
    33    'dojo/_base/lang',
    44    'dojo/dom-construct',
    5     'rft/ui/LineWithActionsWidget',
    6     'rft/ui/OrderedList'
     5    '../LineWithActionsWidget',
     6    './OrderedList'
    77    ],function(
    88        declare,
     
    1212        OrderedList
    1313    ){
    14         return declare('rft.ui.QuestionListView',[OrderedList],{
     14        return declare('rft.ui.lists.QuestionListView',[OrderedList],{
    1515            baseClass: 'rftSurveyListView',
    1616            type: 'question',
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/templates/List.html

    r388 r389  
    11<div>
    2         <h3 data-dojo-attach-point="titleNode"></h3>
    3     <div data-dojo-attach-point="sourceNode" id="source" class="${baseClass}Content"></div>
     2        <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region: 'top'">
     3                <h3 data-dojo-attach-point="titleNode"></h3>
     4        </div>
     5        <div data-dojo-type="dijit.layout.ContentPane"
     6             data-dojo-props="region: 'center'"
     7             data-dojo-attach-point="sourceNode"
     8             class="${baseClass}Content">
     9        </div>
    410</div>
  • Dev/branches/rest-dojo-ui/client/rft/ui/lists/templates/OrderedList.html

    r388 r389  
    11<div>
    2         <h3 data-dojo-attach-point="titleNode"></h3>
    3         <div data-dojo-attach-point="sourceNode" id="source" class="${baseClass}Content"></div>
    4         <div data-dojo-attach-point="buttonsNode" class="floatRight">
    5                 <span>Move selected: </span>
    6                 <button data-dojo-attach-point="btnListMoveUp" ></button>
    7                 <button data-dojo-attach-point="btnListMoveDown"></button>
    8         </div>
     2        <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region: 'top'">
     3                <h3 data-dojo-attach-point="titleNode"></h3>
     4        </div>
     5        <div data-dojo-type="dijit.layout.ContentPane"
     6             data-dojo-props="region: 'center'"
     7             data-dojo-attach-point="sourceNode"
     8             class="${baseClass}Content">
     9        </div>
     10        <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region: 'bottom'" data-dojo-attach-point="buttonsNode">
     11                    <span>Move selected: </span>
     12                    <button data-dojo-attach-point="btnListMoveUp" ></button>
     13                    <button data-dojo-attach-point="btnListMoveDown"></button>
     14        </div>
    915</div>
  • Dev/branches/rest-dojo-ui/client/rft/ui/templates/QuestionEditorToolkit.html

    r377 r389  
    11<div>
    22        <div data-dojo-type="dojox.widget.TitleGroup">
    3                 <div data-dojo-type="dijit.TitlePane" class="orange" open="true" title="Properties" data-dojo-props="iconClass:'rftIcon rftIconProperties'">
     3                <div data-dojo-type="dijit.TitlePane" class="orange" data-dojo-props="open:true" title="Properties" data-dojo-props="iconClass:'rftIcon rftIconProperties'">
    44            <div data-dojo-type="dijit.form.Form" data-dojo-attach-point="propertiesForm" data-rft-attach-event="onSubmit:onSave">
    55                                <fieldset class="align">
     
    1717                </div>
    1818
    19                 <div data-dojo-type="dijit.TitlePane" open="false" title="Content" data-dojo-props="iconClass:'rftIcon rftIconPlus'">
     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" open="false" title="Inputs" data-dojo-props="iconClass:'rftIcon rftIconInput'">
     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                               
Note: See TracChangeset for help on using the changeset viewer.