- Timestamp:
- 03/11/14 00:41:43 (11 years ago)
- Location:
- Dev/trunk/src/client/qed-client
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
Dev/trunk/src/client/qed-client/model/widgets/QuestionEditorToolkit.js
r493 r502 1 1 define([ 2 "../../widgets/_ComplexValueWidget", 2 3 "../classes/categories", 3 4 "../classes/topics", 4 5 "./CategoryListView", 5 "dijit/_Container",6 "dijit/_TemplatedMixin",7 "dijit/_WidgetBase",8 "dijit/_WidgetsInTemplateMixin",9 6 "dijit/form/Button", 10 7 "dijit/form/ComboBox", … … 16 13 "require", 17 14 "dojo/text!./templates/QuestionEditorToolkit.html" 18 ], function( categories, topics, CategoryListView, _Container, _TemplatedMixin, _WidgetBase, _WidgetsInTemplateMixin, Button, ComboBox, declare, lang, Source, domConstruct, Memory, require, template) {19 return declare([_ WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, _Container], {15 ], function(_ComplexValueWidget, categories, topics, CategoryListView, Button, ComboBox, declare, lang, Source, domConstruct, Memory, require, template) { 16 return declare([_ComplexValueWidget], { 20 17 21 18 contextRequire: require, -
Dev/trunk/src/client/qed-client/model/widgets/templates/QuestionEditorToolkit.html
r443 r502 1 < div>1 <form> 2 2 <div data-dojo-type="../../widgets/TitleGroup"> 3 3 <div data-dojo-type="dijit/TitlePane" class="orange" data-dojo-props="open:true" title="Properties" data-dojo-props="iconClass:'rftIcon rftIconProperties'"> … … 23 23 </div> 24 24 </div> 25 </ div>25 </form> -
Dev/trunk/src/client/qed-client/pages/question.js
r500 r502 13 13 contextRequire: require, 14 14 templateString: template, 15 _toolkit: null,16 15 _preview: null, 17 16 classStore: questions, … … 19 18 if ( this._started ) { return; } 20 19 this.inherited(arguments); 21 this.own(this. propertiesForm.on('change',lang.hitch(this,'_handlePropertiesChange')));20 this.own(this.QuestionEditorToolkit.on('change',lang.hitch(this,'_handlePropertiesChange'))); 22 21 this.own(this.contentList.on('change',lang.hitch(this,'_handleContentChange'))); 23 22 this._load(); … … 25 24 _refresh: function(initial) { 26 25 if ( initial === true ) { 27 this. propertiesForm.set('value',this.object,null);26 this.QuestionEditorToolkit.set('value',this.object,null); 28 27 this.contentList.set('value',this.object.content,null); 29 28 } 30 29 this.titleNode.innerHTML = this.object.title || ""; 30 if ( this.object.publicationDate ) { 31 this.QuestionEditorToolkit.set('readOnly',true); 32 this.QuestionEditorToolkit.set('disabled',true); 33 this.contentList.set('readOnly',true); 34 this.contentList.set('disabled',true); 35 } 31 36 }, 32 37 _handlePropertiesChange: function() { … … 41 46 }, 42 47 _updateObject: function() { 43 var pValid = this. propertiesForm.validate();44 lang.mixin(this.object,this. propertiesForm.get('value'));48 var pValid = this.QuestionEditorToolkit.validate(); 49 lang.mixin(this.object,this.QuestionEditorToolkit.get('value')); 45 50 var cValid = this.contentList.validate(); 46 51 this.object.content = this.contentList.get('value'); -
Dev/trunk/src/client/qed-client/pages/survey.js
r500 r502 24 24 this._setupListView(); 25 25 this.own(this.questionList.on('change',lang.hitch(this,'_handleQuestionsChange'))); 26 this.own(this.propertiesForm.on('change',lang.hitch(this,'_handlePropertiesChange'))); 26 27 this._load(); 27 28 }, … … 67 68 } 68 69 this.titleNode.innerHTML = this.object.title || "(set title in properties)"; 70 if ( this.object.publicationDate ) { 71 this.propertiesForm.set('readOnly',true); 72 this.propertiesForm.set('disabled',true); 73 this.questionList.set('readOnly',true); 74 this.questionList.set('disabled',true); 75 } 69 76 }, 70 77 _includeQuestion: function(question) { … … 76 83 this._refresh(); 77 84 }, 78 _onShowProperties: function(evt) { 79 this.propertiesDialog.show(); 80 if ( evt ) { event.stop(evt); } 81 return false; 82 }, 83 _onPropertiesOk: function(evt) { 84 this.propertiesDialog.hide(); 85 _handlePropertiesChange: function() { 85 86 lang.mixin(this.object, this.propertiesForm.get('value').survey); 86 87 this.markDirty(); 87 88 this._refresh(); 88 if ( evt ) { event.stop(evt); } 89 return false; 90 }, 91 _onPropertiesCancel: function(evt) { 92 this.propertiesDialog.hide(); 93 this.propertiesForm.set('value',{survey:this.object}); 94 if ( evt ) { event.stop(evt); } 95 return false; 89 this.layout(); 96 90 }, 97 91 _onSave: function(evt) { … … 128 122 this.discardBtn.set('label','Close'); 129 123 this.inherited(arguments); 124 }, 125 _ignore: function(evt) { 126 event.stop(evt); 127 return false; 130 128 } 131 129 }); -
Dev/trunk/src/client/qed-client/pages/templates/question.html
r492 r502 6 6 </h2> 7 7 </div> 8 <form data-dojo-type="dijit/form/Form" 9 data-dojo-props="region:'left'" 10 data-dojo-attach-point="propertiesForm" 11 data-dojo-attach-event="onSubmit:_ignore"> 8 <div data-dojo-type="dijit/layout/ContentPane" 9 data-dojo-props="region:'left'"> 12 10 <div data-dojo-type="dijit/layout/BorderContainer" data-dojo-props="design:'headline'" style="width: 300px;"> 13 <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'center'">14 <div data-dojo-type="../model/widgets/QuestionEditorToolkit"15 data-dojo-attach-point="QuestionEditorToolkitNode"></div>16 </div>17 11 <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'top'"> 18 12 <button data-dojo-type="dijit/form/Button" 19 data-dojo-props="baseClass: 'rft LargeButton', iconClass: 'rftIcon rftIconAccept'"13 data-dojo-props="baseClass: 'rftBlockButton', iconClass: 'rftIcon rftIconAccept'" 20 14 data-dojo-attach-point="saveBtn" 21 15 data-dojo-attach-event="onClick:_onSave"> 22 16 Save</button> 23 17 <button data-dojo-type="dijit/form/Button" 24 data-dojo-props="baseClass: 'rft LargeButton', iconClass: 'rftIcon rftIconAccept'"18 data-dojo-props="baseClass: 'rftBlockButton', iconClass: 'rftIcon rftIconAccept'" 25 19 data-dojo-attach-point="saveAndCloseBtn" 26 20 data-dojo-attach-event="onClick:_onSaveAndClose"> 27 21 Save & Close</button> 28 22 <button data-dojo-type="dijit/form/Button" 29 data-dojo-props="baseClass: 'rft LargeButton', iconClass: 'rftIcon rftIconCancel'"23 data-dojo-props="baseClass: 'rftBlockButton', iconClass: 'rftIcon rftIconCancel'" 30 24 data-dojo-attach-point="discardBtn" 31 25 data-dojo-attach-event="onClick:_onDiscard"> 32 26 Discard & Close</button> 33 27 </div> 28 <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'center'"> 29 <div data-dojo-type="../model/widgets/QuestionEditorToolkit" 30 data-dojo-attach-point="QuestionEditorToolkit"></div> 31 </div> 34 32 </div> 35 </ form>33 </div> 36 34 <div data-dojo-type="../model/widgets/QuestionEditorPreview" 37 35 data-dojo-attach-point="contentList" -
Dev/trunk/src/client/qed-client/pages/templates/survey.html
r492 r502 13 13 14 14 <div data-dojo-type="dijit/layout/BorderContainer" data-dojo-props="region:'right'" style="width: 300px"> 15 16 <form data-dojo-type="dijit/form/Form" 17 data-dojo-attach-point="propertiesForm" 18 data-dojo-attach-event="onSubmit:_ignore" 19 data-dojo-props="region:'top'"> 20 <fieldset class="qedFieldset"> 21 <div data-dojo-type="../model/widgets/SurveyWidget" data-dojo-props="name:'survey'"></div> 22 </fieldset> 23 </form> 24 15 25 <div data-dojo-attach-point="surveyListViewNode" class="rftSurveyListView"> 16 26 </div> 17 27 18 <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region: 'bottom'"> 19 <button data-dojo-type="dijit/form/Button" 20 data-dojo-attach-event="onClick:_onShowProperties" 21 data-dojo-props="baseClass: 'rftLargeButton', iconClass: 'rftIcon rftIconProperties'"> 22 Properties</button> 28 <div data-dojo-type="dijit/layout/ContentPane" 29 data-dojo-props="region:'bottom'"> 23 30 <button data-dojo-type="dijit/form/Button" 24 31 data-dojo-attach-event="onClick:_onSave" 25 32 data-dojo-attach-point="saveBtn" 26 data-dojo-props="baseClass: 'rft LargeButton', iconClass: 'rftIcon rftIconAccept'">33 data-dojo-props="baseClass: 'rftBlockButton', iconClass: 'rftIcon rftIconAccept'"> 27 34 Save</button> 28 35 <button data-dojo-type="dijit/form/Button" 29 36 data-dojo-attach-event="onClick:_onSaveAndClose" 30 37 data-dojo-attach-point="saveAndCloseBtn" 31 data-dojo-props="baseClass: 'rft LargeButton', iconClass: 'rftIcon rftIconAccept'">38 data-dojo-props="baseClass: 'rftBlockButton', iconClass: 'rftIcon rftIconAccept'"> 32 39 Save & Close</button> 33 40 <button data-dojo-type="dijit/form/Button" 34 41 data-dojo-attach-event="onClick:_onDiscardAndClose" 35 42 data-dojo-attach-point="discardBtn" 36 data-dojo-props="baseClass: 'rft LargeButton', iconClass: 'rftIcon rftIconCancel'">43 data-dojo-props="baseClass: 'rftBlockButton', iconClass: 'rftIcon rftIconCancel'"> 37 44 Discard & Close</button> 38 45 <button data-dojo-type="dijit/form/Button" 39 46 data-dojo-attach-event="onClick:_onShowPreview" 40 data-dojo-props="baseClass: 'rft LargeButton', iconClass: 'rftIcon rftIconPreview'">47 data-dojo-props="baseClass: 'rftBlockButton', iconClass: 'rftIcon rftIconPreview'"> 41 48 Preview</button> 42 49 </div> 43 50 </div> 44 51 45 <div data-dojo-type="dijit/Dialog"46 data-dojo-props="'title':'Survey properties'"47 data-dojo-attach-point="propertiesDialog">48 <form data-dojo-type="dijit/form/Form"49 data-dojo-attach-point="propertiesForm"50 data-dojo-attach-event="onSubmit:_onPropertiesOk">51 <fieldset class="qedFieldset">52 <div data-dojo-type="../model/widgets/SurveyWidget" data-dojo-props="name:'survey'"></div>53 </fieldset>54 <button data-dojo-type="dijit/form/Button"55 type="submit"56 data-dojo-attach-event="onClick:_onPropertiesOk">57 OK</button>58 <button data-dojo-type="dijit/form/Button"59 type="button"60 data-dojo-attach-event="onClick:_onPropertiesCancel">61 Cancel</button>62 </form>63 </div>64 65 52 </div> -
Dev/trunk/src/client/qed-client/widgets/ListWidget.js
r501 r502 23 23 */ 24 24 container: Source, 25 _restoreParams: null, 25 26 _onChangeActive: false, 26 27 buildRendering: function() { … … 54 55 }); 55 56 this.source = new this.container(this.domNode,sourceParams); 57 this._restoreParams = { 58 accept: this.source.accept, 59 selfAccept: this.source.selfAccept, 60 selfCopy: this.source.selfCopy, 61 isSource: this.source.isSource 62 }; 56 63 this.own(this.source.on('Drop', 57 64 lang.hitch(this,'_handleDrop'))); … … 112 119 child.set("disabled", value); 113 120 }); 121 this._updateContainer(); 114 122 }, 115 123 _setReadOnlyAttr: function(value) { … … 118 126 child.set("readOnly", value); 119 127 }); 128 this._updateContainer(); 129 }, 130 _updateContainer: function() { 131 if ( this.disabled || this.readOnly ) { 132 this.source.accept = []; 133 this.source.selfAccept = false; 134 this.source.selfCopy = false; 135 this.source.isSource = false; 136 } else { 137 lang.mixin(this.source,this._restoreParams); 138 } 120 139 }, 121 140 focus: function() {
Note: See TracChangeset
for help on using the changeset viewer.