Ignore:
Timestamp:
03/11/14 00:41:43 (11 years ago)
Author:
hendrikvanantwerpen
Message:
  • ListWidget? can be disabled/readOnyl now.
  • Disable question and survey pages when published.
  • Removed weird dialog from survey page and just put a form there. Not very nice, but more consistent with the rest I would say.
Location:
Dev/trunk/src/client/qed-client/pages
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • Dev/trunk/src/client/qed-client/pages/question.js

    r500 r502  
    1313        contextRequire: require,
    1414        templateString: template,
    15         _toolkit: null,
    1615        _preview: null,
    1716        classStore: questions,
     
    1918            if ( this._started ) { return; }
    2019            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')));
    2221            this.own(this.contentList.on('change',lang.hitch(this,'_handleContentChange')));
    2322            this._load();
     
    2524        _refresh: function(initial) {
    2625            if ( initial === true ) {
    27                 this.propertiesForm.set('value',this.object,null);
     26                this.QuestionEditorToolkit.set('value',this.object,null);
    2827                this.contentList.set('value',this.object.content,null);
    2928            }
    3029            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            }
    3136        },
    3237        _handlePropertiesChange: function() {
     
    4146        },
    4247        _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'));
    4550            var cValid = this.contentList.validate();
    4651            this.object.content = this.contentList.get('value');
  • Dev/trunk/src/client/qed-client/pages/survey.js

    r500 r502  
    2424            this._setupListView();
    2525            this.own(this.questionList.on('change',lang.hitch(this,'_handleQuestionsChange')));
     26            this.own(this.propertiesForm.on('change',lang.hitch(this,'_handlePropertiesChange')));
    2627            this._load();
    2728        },
     
    6768            }
    6869            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            }
    6976        },
    7077        _includeQuestion: function(question) {
     
    7683            this._refresh();
    7784        },
    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() {
    8586            lang.mixin(this.object, this.propertiesForm.get('value').survey);
    8687            this.markDirty();
    8788            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();
    9690        },
    9791        _onSave: function(evt) {
     
    128122            this.discardBtn.set('label','Close');
    129123            this.inherited(arguments);
     124        },
     125        _ignore: function(evt) {
     126            event.stop(evt);
     127            return false;
    130128        }
    131129    });
  • Dev/trunk/src/client/qed-client/pages/templates/question.html

    r492 r502  
    66        </h2>
    77    </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'">
    1210        <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>
    1711            <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'top'">
    1812                <button data-dojo-type="dijit/form/Button"
    19                         data-dojo-props="baseClass: 'rftLargeButton', iconClass: 'rftIcon rftIconAccept'"
     13                        data-dojo-props="baseClass: 'rftBlockButton', iconClass: 'rftIcon rftIconAccept'"
    2014                        data-dojo-attach-point="saveBtn"
    2115                        data-dojo-attach-event="onClick:_onSave">
    2216                  Save</button>
    2317                <button data-dojo-type="dijit/form/Button"
    24                         data-dojo-props="baseClass: 'rftLargeButton', iconClass: 'rftIcon rftIconAccept'"
     18                        data-dojo-props="baseClass: 'rftBlockButton', iconClass: 'rftIcon rftIconAccept'"
    2519                        data-dojo-attach-point="saveAndCloseBtn"
    2620                        data-dojo-attach-event="onClick:_onSaveAndClose">
    2721                  Save &amp; Close</button>
    2822                <button data-dojo-type="dijit/form/Button"
    29                         data-dojo-props="baseClass: 'rftLargeButton', iconClass: 'rftIcon rftIconCancel'"
     23                        data-dojo-props="baseClass: 'rftBlockButton', iconClass: 'rftIcon rftIconCancel'"
    3024                        data-dojo-attach-point="discardBtn"
    3125                        data-dojo-attach-event="onClick:_onDiscard">
    3226                  Discard &amp; Close</button>
    3327            </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>
    3432        </div>
    35     </form>
     33    </div>
    3634    <div data-dojo-type="../model/widgets/QuestionEditorPreview"
    3735         data-dojo-attach-point="contentList"
  • Dev/trunk/src/client/qed-client/pages/templates/survey.html

    r492 r502  
    1313   
    1414    <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
    1525        <div data-dojo-attach-point="surveyListViewNode" class="rftSurveyListView">
    1626        </div>
    1727
    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'">
    2330            <button data-dojo-type="dijit/form/Button"
    2431                    data-dojo-attach-event="onClick:_onSave"
    2532                    data-dojo-attach-point="saveBtn"
    26                     data-dojo-props="baseClass: 'rftLargeButton', iconClass: 'rftIcon rftIconAccept'">
     33                    data-dojo-props="baseClass: 'rftBlockButton', iconClass: 'rftIcon rftIconAccept'">
    2734                Save</button>
    2835            <button data-dojo-type="dijit/form/Button"
    2936                    data-dojo-attach-event="onClick:_onSaveAndClose"
    3037                    data-dojo-attach-point="saveAndCloseBtn"
    31                     data-dojo-props="baseClass: 'rftLargeButton', iconClass: 'rftIcon rftIconAccept'">
     38                    data-dojo-props="baseClass: 'rftBlockButton', iconClass: 'rftIcon rftIconAccept'">
    3239                Save &amp; Close</button>
    3340            <button data-dojo-type="dijit/form/Button"
    3441                    data-dojo-attach-event="onClick:_onDiscardAndClose"
    3542                    data-dojo-attach-point="discardBtn"
    36                     data-dojo-props="baseClass: 'rftLargeButton', iconClass: 'rftIcon rftIconCancel'">
     43                    data-dojo-props="baseClass: 'rftBlockButton', iconClass: 'rftIcon rftIconCancel'">
    3744                Discard &amp; Close</button>
    3845            <button data-dojo-type="dijit/form/Button"
    3946                    data-dojo-attach-event="onClick:_onShowPreview"
    40                     data-dojo-props="baseClass: 'rftLargeButton', iconClass: 'rftIcon rftIconPreview'">
     47                    data-dojo-props="baseClass: 'rftBlockButton', iconClass: 'rftIcon rftIconPreview'">
    4148                Preview</button>
    4249        </div>
    4350    </div>
    4451
    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 
    6552</div>
Note: See TracChangeset for help on using the changeset viewer.