Ignore:
Timestamp:
07/18/12 18:49:11 (13 years ago)
Author:
tjcschipper
Message:
  • AdaptiveForm? really isn't anything yet, but it's supposed to become a way to encapsulate forms that add/remove inputs based on other input's (selected) values.
  • Created a skeleton for the question editor. It's almost an exact copy of SurveyAdvanced?.
Location:
Dev/branches/rest-dojo-ui/client/rft/pages
Files:
1 edited
2 moved

Legend:

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

    r363 r366  
    1 <div data-dojo-type="rft.pages.surveyAdvanced">
     1<div data-dojo-type="rft.pages.question" class="orange">
    22        <div data-dojo-type="dijit.layout.BorderContainer" data-dojo-props="region:'center'" style="height: 500px;">
    33                <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'top'">
    44                        <h2>
    55                                <span class="rftIcon rftIconSurvey"></span>
    6                                 <span class="headerText">Survey A [Design]</span>
     6                                <span class="headerText">Question 123 [Editing]</span>
    77                        </h2>
    88                </div>
     
    1010                       
    1111                        <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'center'">
    12                                 <div data-dojo-type="dijit.layout.AccordionContainer" class="blue">
    13                                         <div data-dojo-type="dijit.layout.ContentPane" title="Content" data-dojo-props="iconClass:'rftIcon rftIconPlus'">
    14                                                 <div id="SurveyEditorToolkit" data-dojo-props="skipForm: true, accept:[], selfAccept: false, copyOnly: true, horizontal: false, singular: true">
    15                                                        
    16                                                 </div>
    17                                         </div>
    18                                 </div>
     12                                <div id="QuestionEditorToolkit"></div>
    1913                        </div>
    2014                        <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'bottom'">
    21                                 <button id="btnSave" data-dojo-type="dijit.form.Button" data-dojo-props="baseClass: 'rftLargeButton', iconClass: 'rftIcon rftIconAccept'">Save</button>
    2215                                <button id="btnDiscard" data-dojo-type="dijit.form.Button" data-dojo-props="baseClass: 'rftLargeButton', iconClass: 'rftIcon rftIconCancel'">Discard</button>
    23                                 <button id="btnBack" data-dojo-type="dijit.form.Button" data-dojo-props="baseClass: 'rftLargeButton', iconClass: 'rftIcon rftIconUndo'">Exit Design</button>
     16                                <button id="btnSave" data-dojo-type="dijit.form.Button" data-dojo-props="baseClass: 'rftLargeButton', iconClass: 'rftIcon rftIconAccept'">Save and exit</button>
    2417                        </div>
    2518                </div>
    2619                <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'center'">
    27                         <div id="SurveyEditorPreview">
     20                        <div id="QuestionEditorPreview">
    2821                               
    2922                        </div>
    30 
    31                         <button data-dojo-type="dijit.form.Button" data-dojo-props="baseClass: 'rftLargeButton', iconClass: 'rftIcon rftIconPlus'">Add new</button>
    3223                </div>
    3324        </div>
  • Dev/branches/rest-dojo-ui/client/rft/pages/question.js

    r363 r366  
    88    'rft/content',
    99    'dijit/registry',
    10     'dojo/on'],
    11     function(declare, lang, Deferred, LineWithActionsWidget, store, _Page, api, content, registry, on){
    12         return declare('rft.pages.surveyAdvanced', [_Page], {
     10    'dojo/on',
     11    'dojo/behavior',
     12    'dojo/query',
     13    'rft/ui/QuestionEditorPreview',
     14    'rft/ui/QuestionEditorToolkit',
     15    'dijit/form/FilteringSelect'],
     16    function(declare, lang, Deferred, LineWithActionsWidget, store, _Page, api, content, registry, on, behavior, query){
     17        return declare('rft.pages.question', [_Page], {
    1318            object: null,
     19            preview: null,
     20           
    1421            onVisit: function() {
    1522                if (this.pageArgs.uid) {
     
    2330
    2431                this._setupButtons();
     32                this._setupEditor();
    2533            },
    2634            onLeave: function() {
    2735                this.inherited(arguments);
    2836            },
    29             _confirmSave: function() {
    30                 return confirm("Do you want to save?");
     37            _setupButtons: function() {
     38                var behaviorMap = {
     39                    "#btnSave": {
     40                        onclick: lang.hitch(this, function(){
     41                            this._saveSurvey();
     42                        })
     43                    },
     44                    "#btnDiscard": {
     45                        onclick: lang.hitch(this, function(){
     46                            this._restartEditor();
     47                        })
     48                    }
     49                }
     50                behavior.add(behaviorMap);
     51                behavior.apply();
    3152            },
    32             _saveSurvey: function() {
    33             },
    34             _restartEditor: function() {
    35             },
    36             _backToEditor: function() {
    37                 if (this._confirmSave()) {
    38                     this._saveSurvey()
    39                     content.goTo('survey', {uid: this.object._id});
    40                 } else {
    41                     content.goTo('survey', {uid: this.object._id});
    42                 }
    43             },
    44             _setupButtons: function() {
    45                 registry.byId("btnSave").on("click", lang.hitch(this, function() {
    46                     this._saveSurvey();
    47                 }));
    48                 registry.byId("btnDiscard").on("click", lang.hitch(this, function() {
    49                     this._restartEditor();
    50                 }));
    51                 registry.byId("btnBack").on("click", lang.hitch(this, function() {
    52                     this._backToEditor();
    53                 }));
     53            _setupEditor: function() {
     54                this.toolkit = new rft.ui.QuestionEditorToolkit();
     55                this.toolkit.placeAt("QuestionEditorToolkit");
     56
     57                this.preview = new rft.ui.QuestionEditorPreview();
     58                this.preview.placeAt("QuestionEditorPreview");
    5459            }
    5560        });
  • Dev/branches/rest-dojo-ui/client/rft/pages/questions.js

    r343 r366  
    11define(['dojo/_base/declare','dojo/_base/lang','dojo/_base/event',
    2     'dojo/_base/Deferred','rft/store','rft/ui/_Page','rft/ui/AccordionList'],
    3     function(declare,lang,event,Deferred,store,_Page,AccordionList) {
     2    'dojo/_base/Deferred','rft/store','rft/ui/_Page','rft/ui/AccordionList', 'rft/content'],
     3    function(declare,lang,event,Deferred,store,_Page,AccordionList,content) {
    44        return declare('rft.pages.questions',[_Page],{
    55            constructor: function() {
     
    88            },
    99            onVisit: function() {
     10                debugger;
    1011                this._list = new AccordionList({
    1112                    actions: {
    12                         'Edit': lang.hitch(this,'_editQuestion')
     13                        'Edit': {
     14                            callback: lang.hitch(this,'_editQuestion'),
     15                            properties: {
     16                                blockButton: true,
     17                                icon: "Edit",
     18                                label: "Edit"
     19                            }
     20                        }
     21
     22                       
    1323                    },
    1424                    idProperty: store.idProperty,
     
    3242            },
    3343            _editQuestion: function(question) {
    34                 this.questionForm.reset();
    35                 this.questionWidget.set('value',question);
    36                 this.questionDialog.show();
     44                content.goTo("question", {uid: question._id});
     45                // this.questionForm.reset();
     46                // this.questionWidget.set('value',question);
     47                // this.questionDialog.show();
    3748            },
    3849            onSaveQuestion: function(evt) {
     
    5263            }
    5364        });
    54     });
     65});
Note: See TracChangeset for help on using the changeset viewer.