Changeset 389
- Timestamp:
- 08/06/12 17:39:05 (13 years ago)
- 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 32 32 }, 33 33 _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 || []); 36 36 }, 37 37 _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(); 41 40 store.put(this.question) 42 41 .then(function() { -
Dev/branches/rest-dojo-ui/client/rft/pages/session.js
r384 r389 5 5 'dojo/_base/event', 6 6 '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' 13 13 ], 14 14 function(array,declare,lang,event,Deferred,ElasticSearchFilteringSelect,ElasticReadStore,store,_Page,content,AccountListView){ -
Dev/branches/rest-dojo-ui/client/rft/pages/survey.js
r386 r389 5 5 'dojo/_base/event', 6 6 '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' 12 12 ], 13 13 function(array,declare,Deferred,event,lang,content,store,_Page, -
Dev/branches/rest-dojo-ui/client/rft/run.js
r382 r389 31 31 'dijit/form/Textarea', 32 32 'dijit/form/TextBox', 33 33 34 'dojox/grid/DataGrid', 34 'dojox/widget/TitleGroup', 35 'rft/ui/AccountListView', 35 36 36 'rft/ui/LineWithActionsWidget', 37 'rft/ui/List',38 37 'rft/ui/MainMenu', 39 38 'rft/ui/MenuBarLink', … … 41 40 'rft/ui/Notifications', 42 41 'rft/ui/ObjectBox', 43 'rft/ui/OrderedList',44 42 'rft/ui/QuestionWidget', 45 43 'rft/ui/Selector', 46 44 'rft/ui/TitleGroup', 45 'rft/ui/lists/AccountListView', 46 'rft/ui/lists/List', 47 'rft/ui/lists/OrderedList', 47 48 48 49 // pages -> load dynamically? -
Dev/branches/rest-dojo-ui/client/rft/ui/QuestionEditorPreview.js
r388 r389 2 2 'dojo/_base/declare', 3 3 'dojo/_base/lang', 4 'dojo/dnd/Source',5 4 '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', 11 12 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!!!" 22 16 }); 23 this.dndSource.startup();24 17 }, 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; 39 25 }, 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); 60 31 } 61 62 32 }); 63 33 }); -
Dev/branches/rest-dojo-ui/client/rft/ui/QuestionEditorPreviewItem.js
r387 r389 5 5 'dojo/dom-class', 6 6 'dojo/on', 7 'dijit/_Container', 7 8 'dijit/_TemplatedMixin', 8 9 'dijit/_WidgetBase', 9 10 'dijit/_WidgetsInTemplateMixin', 10 ' rft/ui/ContentWidgetFactory',11 './content/ContentWidgetFactory', 11 12 '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], { 15 15 version: "full", 16 16 templateString: template, 17 17 baseClass: "surveyEditorPreviewItem", 18 18 previousContentHeight: 200, 19 item: null, 19 20 innerWidget: null, 20 21 foldDuration: [250, 250], … … 22 23 _editing: false, 23 24 24 postCreate: function() {25 startup: function() { 25 26 this.inherited(arguments); 26 27 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"); 28 29 this.editButtonNode.onClick = lang.hitch(this, this.toggleEdit); 29 30 if (this.item) { 30 this._ createInnerWidget();31 this._showViewWidget(); 31 32 } else { 32 throw "No data supplied to create an innerWidget off of!";33 throw "No data supplied to create an innerWidget!"; 33 34 } 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 } 38 71 }, 39 72 toggleEdit: function() { 40 73 if(this._editing) { 74 if ( this.innerWidget !== null ) { 75 this.item = this.innerWidget.get('value'); 76 } 77 this._destroyInnerWidget(); 78 this._showViewWidget(); 41 79 this.editButtonNode.iconNode.className = this.editButtonNode.iconNode.className.replace("rftIconAccept", "rftIconEdit"); 42 80 this.editButtonNode.set("label", "Edit"); 43 this.innerWidget.save();44 }45 else {81 } else { 82 this._destroyInnerWidget(); 83 this._showEditWidget(); 46 84 this.editButtonNode.iconNode.className = this.editButtonNode.iconNode.className.replace("rftIconEdit", "rftIconAccept"); 47 85 this.editButtonNode.set("label", "Save"); 48 this.innerWidget.edit();49 86 } 50 87 this._editing = !this._editing; … … 81 118 } 82 119 } 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();94 120 } 95 121 -
Dev/branches/rest-dojo-ui/client/rft/ui/QuestionEditorToolkit.js
r387 r389 11 11 'dijit/form/Button', 12 12 'dijit/form/ComboBox', 13 ' rft/store',14 ' rft/ui/CategoryListView',13 '../store', 14 './lists/CategoryListView', 15 15 'dojo/text!./templates/QuestionEditorToolkit.html' 16 16 ], function(declare, lang, Source, domConstruct, Memory, _Container, _TemplatedMixin, _WidgetBase, _WidgetsInTemplateMixin, Button, ComboBox, store, CategoryListView, template) { … … 107 107 this.inputsSource.insertNodes(false, this._inputsItems); 108 108 }, 109 loadQuestion: function(question) {109 _setValueAttr: function(question) { 110 110 this.propertiesForm.set('value', question); 111 111 this._categories = question.categories; … … 113 113 this._setupCategories(); 114 114 this._setupTopic(question.topic); 115 }, 116 _getValueAttr: function() { 117 var value = this.propertiesForm.get('value'); 118 value.categories = this._categories; 119 return value; 115 120 }, 116 121 onCategoryAdd: function() { … … 134 139 node = w.domNode; 135 140 } 136 return {node: node, data: item , type: ["questionContent"]};141 return {node: node, data: item.content, type: ["questionContent"]}; 137 142 }, 138 143 _setupListView: function() { -
Dev/branches/rest-dojo-ui/client/rft/ui/content/ContentWidgetFactory.js
r388 r389 9 9 'dojox/layout/TableContainer' 10 10 ],function(declare, lang, NumberSpinner, Textarea, TextBox, StackContainer, CheckedMultiSelect, TableContainer) { 11 var factory = declare('rft.ui. ContentWidgetFactory', [], {11 var factory = declare('rft.ui.content.ContentWidgetFactory', [], { 12 12 /* No default type, all should be valid */ 13 create Widget: function(/*Object*/ content) {13 createViewWidget: function(/*Object*/options) { 14 14 // options: Object 15 15 // 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 }*/ 43 77 }); 44 78 45 79 /* 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 {}; 58 85 } 59 86 }); … … 84 111 var MultipleChoiceInput = declare(StackContainer, { 85 112 _multiSelect: null, 86 postCreate: function() {113 startup: function() { 87 114 this.inherited(arguments); 88 115 this._multiSelect = new CheckedMultiSelect(); … … 110 137 _editWidgets: null, 111 138 _editTable: null, 112 postCreate: function() {139 startup: function() { 113 140 this.inherited(arguments); 114 141 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 3 3 'dojo/_base/lang', 4 4 'dojo/dom-construct', 5 ' rft/ui/LineWithActionsWidget',6 ' rft/ui/OrderedList'5 '../LineWithActionsWidget', 6 './OrderedList' 7 7 ],function( 8 8 declare, … … 12 12 OrderedList 13 13 ) { 14 return declare('rft.ui. AccountListView',[OrderedList],{14 return declare('rft.ui.lists.AccountListView',[OrderedList],{ 15 15 baseClass: 'rftAccountListView', 16 16 type: 'account', -
Dev/branches/rest-dojo-ui/client/rft/ui/lists/CategoryListView.js
r388 r389 2 2 'dojo/_base/declare', 3 3 'dojo/_base/lang', 4 ' rft/ui/LineWithActionsWidget',5 ' rft/ui/List',4 '../LineWithActionsWidget', 5 './List', 6 6 ],function( 7 7 declare, … … 10 10 List 11 11 ) { 12 return declare('rft.ui. CategoryListView',[List],{12 return declare('rft.ui.lists.CategoryListView',[List],{ 13 13 baseClass: 'rftLineListView', 14 14 -
Dev/branches/rest-dojo-ui/client/rft/ui/lists/List.js
r388 r389 3 3 'dojo/_base/lang', 4 4 'dojo/dnd/Source', 5 'dijit/_Container',6 5 'dijit/_TemplatedMixin', 7 6 'dijit/_WidgetBase', 8 7 'dijit/_WidgetsInTemplateMixin', 9 8 'dijit/registry', 9 'dijit/layout/BorderContainer', 10 10 'dojo/text!./templates/List.html' 11 11 ],function( … … 13 13 lang, 14 14 Source, 15 _Container,16 15 _TemplatedMixin, 17 16 _WidgetBase, 18 17 _WidgetsInTemplateMixin, 19 18 registry, 19 BorderContainer, 20 20 templateString 21 21 ){ 22 return declare('rft.ui. List',[_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,_Container],{22 return declare('rft.ui.lists.List',[BorderContainer,_TemplatedMixin,_WidgetsInTemplateMixin],{ 23 23 templateString: templateString, 24 24 baseClass: 'rftList', … … 27 27 source: null, 28 28 29 postCreate: function() { 29 startup: function() { 30 this.inherited(arguments); 31 30 32 if (this.title) { 31 33 this.titleNode.innerHTML = this.title; 32 } else {33 this.domNode.removeChild(this.titleNode);34 34 } 35 35 36 this.source = new Source(this.sourceNode , {36 this.source = new Source(this.sourceNode.domNode, { 37 37 accept: [this.type], 38 38 singular: true, … … 44 44 var node = hint === "avatar" ? 45 45 this._createAvatarNode(item) : this._createListNode(item); 46 return {46 return node && { 47 47 node: node, 48 48 data: item, … … 55 55 appendItem: function(item) { 56 56 this.source.insertNodes(false,[item]); 57 }, 58 appendItems: function(items) { 59 this.source.insertNodes(false,items); 57 60 }, 58 61 … … 78 81 })) 79 82 .forEach(lang.hitch(this,function(node){ 80 registry.byNode(node).destroy ();83 registry.byNode(node).destroyRecursive(); 81 84 this.removeCallback && this.removeCallback(item); 82 85 })); -
Dev/branches/rest-dojo-ui/client/rft/ui/lists/MultipleChoiceListView.js
r388 r389 3 3 'dojo/_base/lang', 4 4 'dojo/dom-construct', 5 ' rft/ui/LineWithActionsWidget',6 ' rft/ui/OrderedList'5 '../LineWithActionsWidget', 6 './OrderedList' 7 7 ],function( 8 8 declare, … … 12 12 OrderedList 13 13 ) { 14 return declare('rft.ui. MultipleChoiceListView',[OrderedList],{14 return declare('rft.ui.lists.MultipleChoiceListView',[OrderedList],{ 15 15 baseClass: 'rftMultipleChoiceListView', 16 16 type: 'multipleChoiceOption', -
Dev/branches/rest-dojo-ui/client/rft/ui/lists/OrderedList.js
r388 r389 3 3 'dojo/_base/lang', 4 4 'dijit/form/Button', 5 ' rft/ui/List',5 './List', 6 6 'dojo/text!./templates/OrderedList.html' 7 7 ],function( … … 12 12 templateString 13 13 ){ 14 return declare('rft.ui. OrderedList',[List],{14 return declare('rft.ui.lists.OrderedList',[List],{ 15 15 templateString: templateString, 16 16 baseClass: 'rftLineListView', 17 17 18 postCreate: function() {18 startup: function() { 19 19 this.inherited(arguments); 20 20 -
Dev/branches/rest-dojo-ui/client/rft/ui/lists/QuestionListView.js
r388 r389 3 3 'dojo/_base/lang', 4 4 'dojo/dom-construct', 5 ' rft/ui/LineWithActionsWidget',6 ' rft/ui/OrderedList'5 '../LineWithActionsWidget', 6 './OrderedList' 7 7 ],function( 8 8 declare, … … 12 12 OrderedList 13 13 ){ 14 return declare('rft.ui. QuestionListView',[OrderedList],{14 return declare('rft.ui.lists.QuestionListView',[OrderedList],{ 15 15 baseClass: 'rftSurveyListView', 16 16 type: 'question', -
Dev/branches/rest-dojo-ui/client/rft/ui/lists/templates/List.html
r388 r389 1 1 <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> 4 10 </div> -
Dev/branches/rest-dojo-ui/client/rft/ui/lists/templates/OrderedList.html
r388 r389 1 1 <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> 9 15 </div> -
Dev/branches/rest-dojo-ui/client/rft/ui/templates/QuestionEditorToolkit.html
r377 r389 1 1 <div> 2 2 <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'"> 4 4 <div data-dojo-type="dijit.form.Form" data-dojo-attach-point="propertiesForm" data-rft-attach-event="onSubmit:onSave"> 5 5 <fieldset class="align"> … … 17 17 </div> 18 18 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"> 20 20 <div data-dojo-attach-point="ToolkitContentSourceNode"> 21 21 … … 23 23 </div> 24 24 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"> 26 26 <div data-dojo-attach-point="ToolkitInputsSourceNode"> 27 27
Note: See TracChangeset
for help on using the changeset viewer.