Changeset 417


Ignore:
Timestamp:
12/09/12 16:49:22 (12 years ago)
Author:
hendrikvanantwerpen
Message:

Put all model dependent code in one place. More separation of general and domain code.

Location:
Dev/branches/rest-dojo-ui/client
Files:
3 added
8 deleted
14 edited
7 copied
31 moved

Legend:

Unmodified
Added
Removed
  • Dev/branches/rest-dojo-ui/client/index.html

    r414 r417  
    1515            </div>
    1616        </div>
    17         <div id="toaster" data-dojo-type="rft/ui/Notifications"></div>
     17        <div id="toaster" data-dojo-type="rft/app/Notifications"></div>
    1818    </body>
    1919</html>
  • Dev/branches/rest-dojo-ui/client/rft/app/Notifications.js

    r414 r417  
    1 define(['dojo/_base/declare','dojo/_base/lang','dojox/widget/Toaster'],
    2 function(declare,lang,Toaster){
     1define(['dojo/_base/declare','dojox/widget/Toaster'],
     2function(declare,Toaster){
    33    return declare([Toaster],{
    44        positionDirection: "br-up",
  • Dev/branches/rest-dojo-ui/client/rft/model/schema.js

    r415 r417  
    112112        }),
    113113        dbobject('SurveyRun',{
     114            description: string(optional()),
    114115            surveyId: nestring(),
    115116            publicationDate:datetime(optional()),
    116             startDate:datetime(optional()),
    117             endDate:datetime(optional()),
     117            startDate:datetime(),
     118            endDate:datetime(),
    118119            mode:{type:'string',enum:['open','closed']},
    119120            respondents: array(nestring(),optional()),
    120             metadata:{type:'object'}
     121            metadata:{type:'object',optional:true}
    121122        }),
    122123        dbobject('Session',{
  • Dev/branches/rest-dojo-ui/client/rft/model/widgets/AccountListView.js

    r414 r417  
    11define([
    22    'dojo/_base/declare',
    3        'dojo/_base/lang',
     3    'dojo/_base/lang',
    44    'dojo/dom-construct',
    5     '../LineWithActionsWidget',
    6     './OrderedList'
     5    '../../widgets/LineWithActionsWidget',
     6    '../../widgets/list/OrderedList'
    77],function(
    88    declare,
  • Dev/branches/rest-dojo-ui/client/rft/model/widgets/CategoryListView.js

    r414 r417  
    22    'dojo/_base/declare',
    33    'dojo/_base/lang',
    4     '../LineWithActionsWidget',
    5     './List'
     4    '../../widgets/LineWithActionsWidget',
     5    '../../widgets/list/List'
    66],function(
    77    declare,
  • Dev/branches/rest-dojo-ui/client/rft/model/widgets/QuestionEditorPreview.js

    r414 r417  
    66    'dijit/registry',
    77    './QuestionEditorPreviewItem',
    8     './lists/OrderedList'
     8    '../../widgets/list/OrderedList'
    99], function(array, declare, lang, domConstruct, registry, QuestionEditorPreviewItem, OrderedList) {
    1010    return declare([OrderedList], {
  • Dev/branches/rest-dojo-ui/client/rft/model/widgets/QuestionEditorPreviewItem.js

    r415 r417  
    1010    'dijit/_WidgetBase',
    1111    'dijit/_WidgetsInTemplateMixin',
    12     './model/QuestionWidgetFactory',
     12    './QuestionWidgetFactory',
    1313    'dojo/text!./templates/QuestionEditorPreviewItem.html'
    1414], function(
  • Dev/branches/rest-dojo-ui/client/rft/model/widgets/QuestionEditorToolkit.js

    r414 r417  
    1111    'dijit/form/Button',
    1212    'dijit/form/ComboBox',
    13     '../store',
    14     './lists/CategoryListView',
     13    '../../store',
     14    './CategoryListView',
    1515    'dojo/text!./templates/QuestionEditorToolkit.html'
    1616    ], function(declare, lang, Source, domConstruct, Memory, _Container, _TemplatedMixin, _WidgetBase, _WidgetsInTemplateMixin, Button, ComboBox, store, CategoryListView, template) {
  • Dev/branches/rest-dojo-ui/client/rft/model/widgets/QuestionListView.js

    r414 r417  
    33    'dojo/_base/lang',
    44    'dojo/dom-construct',
    5     '../LineWithActionsWidget',
    6     './OrderedList'
     5    '../../widgets/LineWithActionsWidget',
     6    '../../widgets/list/OrderedList'
    77],function(
    88    declare,
  • Dev/branches/rest-dojo-ui/client/rft/model/widgets/QuestionWidget.js

    r414 r417  
    22    'dijit/_TemplatedMixin','dijit/_WidgetsInTemplateMixin',
    33    'dojo/text!./templates/QuestionWidget.html','dijit/form/TextBox',
    4     'dijit/form/Textarea','./MultipleChoiceWidget'],
     4    'dijit/form/Textarea','../../widgets/MultipleChoiceWidget'],
    55    function(declare,lang,domConstruct,_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,templateString,TextBox,Textarea,MultipleChoiceWidget){
    66        return declare([_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin],{
  • Dev/branches/rest-dojo-ui/client/rft/model/widgets/QuestionWidgetFactory.js

    r415 r417  
    1515    'dijit/form/TextBox',
    1616    'dojox/layout/TableContainer',
    17     './../lists/_EditableListMixin',
    18     './../lists/OrderedList'
     17    '../../widgets/list/_EditableListMixin',
     18    '../../widgets/list/OrderedList'
    1919],function(array, declare, lang, domConstruct, _TemplatedMixin, _WidgetBase, _Container, Button, CheckBox, Form, NumberSpinner, RadioButton, Textarea, TextBox, TableContainer, _EditableListMixin, OrderedList) {
    2020    var factory = declare(null, {
  • Dev/branches/rest-dojo-ui/client/rft/model/widgets/SurveyFieldset.js

    r415 r417  
    11define([
    22    'dojo/_base/declare',
    3     'rft/ui/generic/TemplatedForm',
    4     'dojo/text!./templates/SurveyForm.html'
    5 ],function(declare,TemplatedForm,template){
    6     return declare([TemplatedForm],{
     3    'dijit/_Container',
     4    'dijit/_WidgetBase',
     5    'dijit/_TemplatedMixin',
     6    'dijit/_WidgetsInTemplateMixin',
     7    'dojo/text!./templates/SurveyFieldset.html'
     8],function(declare,_Container,_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,template){
     9    return declare([_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,_Container],{
    710        templateString: template,
    8         baseClass: "rftSurveyForm"
     11        baseClass: "rftSurveyFieldset"
    912    });
    1013});
  • Dev/branches/rest-dojo-ui/client/rft/model/widgets/SurveyRunFieldset.js

    r415 r417  
    11define([
    22    'dojo/_base/declare',
    3     'rft/ui/generic/TemplatedForm',
    4     'dojo/text!./templates/SurveyRunForm.html'
    5 ],function(declare,TemplatedForm,template){
    6     return declare([TemplatedForm],{
     3    'dijit/_Container',
     4    'dijit/_WidgetBase',
     5    'dijit/_TemplatedMixin',
     6    'dijit/_WidgetsInTemplateMixin',
     7    'dojo/text!./templates/SurveyRunFieldset.html'
     8],function(declare,_Container,_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,template){
     9    return declare([_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,_Container],{
    710        templateString: template,
    8         baseClass: "rftSurveyRunForm"
     11        baseClass: "rftSurveyRunFieldset"
    912    });
    1013});
  • Dev/branches/rest-dojo-ui/client/rft/model/widgets/TabbedQuestionBrowser.js

    r414 r417  
    66    'dijit/layout/TabContainer',
    77    'dojox/widget/Standby',
    8     'rft/store',
    9     'rft/ui/Selector',
     8    '../../store',
     9    '../../widgets/Selector',
    1010    'dojo/domReady!'
    1111],function(declare,lang,win,ContentPane,TabContainer,Standby,store,Selector){
  • Dev/branches/rest-dojo-ui/client/rft/model/widgets/templates/SurveyFieldset.html

    r415 r417  
    1 <form class="${baseClass}">
    2     <fieldset>
    3         <label for="title">Title</label>
    4         <input data-dojo-type="dijit/form/TextBox" name="title"/><br/>
    5         <label for="description">Description</label>
    6         <input data-dojo-type="dijit/form/Textarea" name="description"/><br/>
    7     </fieldset>
    8 </form>
     1<fieldset class="${baseClass}">
     2    <label for="title">Title</label>
     3    <input data-dojo-type="dijit/form/TextBox" name="title"/><br/>
     4    <label for="description">Description</label>
     5    <input data-dojo-type="dijit/form/Textarea" name="description"/><br/>
     6</fieldset>
  • Dev/branches/rest-dojo-ui/client/rft/model/widgets/templates/SurveyRunFieldset.html

    r415 r417  
    1 <form class="${baseClass}">
    2     <fieldset>
    3         <label for="startDate" class="loginLabel">Start date</label>
    4         <input type="text" name="startDatetime" data-dojo-type="rft/ui/generic/DateTimeTextBox" />
    5         <label for="endDate" class="loginLabel">End date</label>
    6         <input type="text" name="endDatetime" data-dojo-type="rft/ui/generic/DateTimeTextBox" />
    7         <label for="mode" class="loginLabel">Mode</label>
    8         <select name="mode" data-dojo-type="dijit/form/Select">
    9             <option value="open" selected="selected">Open</option>
    10             <option value="closed">Closed</option>
    11         </select><br/>
    12     </fieldset>
    13 </form>
     1<fieldset class="${baseClass}">
     2
     3    <label for="mode" class="loginLabel">Description</label>
     4    <textarea name="description" data-dojo-type="dijit/form/Textarea"></textarea>
     5    <br>
     6
     7    <label for="startDate" class="loginLabel">Start date</label>
     8    <input type="text" name="startDatetime" data-dojo-type="rft/widgets/DateTimeTextBox" />
     9    <br>
     10
     11    <label for="endDate" class="loginLabel">End date</label>
     12    <input type="text" name="endDatetime" data-dojo-type="rft/widgets/DateTimeTextBox" />
     13    <br>
     14
     15    <label for="mode" class="loginLabel">Mode</label>
     16    <select name="mode" data-dojo-type="dijit/form/Select">
     17        <option value="open" selected="selected">Open</option>
     18        <option value="closed">Closed</option>
     19    </select>
     20    <br>
     21
     22</fieldset>
  • Dev/branches/rest-dojo-ui/client/rft/pages/index.js

    r410 r417  
    33    '../app/Router',
    44    '../app/Page',
    5     'dojo/text!./index.html'
     5    'dojo/text!./templates/index.html'
    66],function(declare,Router,Page,template){
    77    return declare([Page],{
  • Dev/branches/rest-dojo-ui/client/rft/pages/question.js

    r415 r417  
    88    '../app/Router',
    99    '../app/Page',
    10     '../ui/QuestionEditorPreview',
    11     '../ui/QuestionEditorToolkit',
    12     'dojo/text!./question.html'
     10    '../model/widgets/QuestionEditorPreview',
     11    '../model/widgets/QuestionEditorToolkit',
     12    'dojo/text!./templates/question.html'
    1313],function(declare, Deferred, event, lang, store, Content, Router, Page, QuestionEditorPreview, QuestionEditorToolkit, template){
    1414    return declare([Page], {
  • Dev/branches/rest-dojo-ui/client/rft/pages/questions.js

    r415 r417  
    88    '../app/Router',
    99    '../app/Page',
    10     '../ui/TabbedQuestionBrowser',
    11     'dojo/text!./questions.html'
     10    '../model/widgets/TabbedQuestionBrowser',
     11    'dojo/text!./templates/questions.html'
    1212],function(declare,Deferred,event,lang,store,Content,Router,Page,TabbedQuestionBrowser,template) {
    1313    return declare([Page],{
  • Dev/branches/rest-dojo-ui/client/rft/pages/session.js

    r416 r417  
    99    '../app/Page',
    1010    '../app/Router',
    11     '../ui/ThresholdFilteringSelect',
    12     '../ui/lists/AccountListView',
    13     'dojo/text!./session.html'
     11    '../widgets/ThresholdFilteringSelect',
     12    '../model/widgets/AccountListView',
     13    'dojo/text!./templates/session.html'
    1414],function(array,declare,Deferred,event,lang,search,store,Page,Router,ThresholdFilteringSelect,AccountListView,template){
    1515    return declare([Page],{
  • Dev/branches/rest-dojo-ui/client/rft/pages/sessions.js

    r416 r417  
    66    '../app/Router',
    77    '../app/Page',
    8     '../ui/ObjectBox',
    9     'dojo/text!./sessions.html'
     8    '../widgets/ObjectBox',
     9    'dojo/text!./templates/sessions.html'
    1010],function(declare,lang,dateStamp,store,Router,Page,ObjectBox,template){
    1111    return declare([Page],{
  • Dev/branches/rest-dojo-ui/client/rft/pages/survey.js

    r416 r417  
    88    '../store',
    99    '../app/Page',
    10     '../ui/lists/QuestionListView',
    11     '../ui/TabbedQuestionBrowser',
    12     'dojo/text!./survey.html'
     10    '../model/widgets/QuestionListView',
     11    '../model/widgets/TabbedQuestionBrowser',
     12    'dojo/text!./templates/survey.html'
    1313],function(array,declare,Deferred,event,lang,Router,store,Page,
    1414         QuestionListView,TabbedQuestionBrowser,template){
     
    8181        refresh: function() {
    8282            this.titleNode.innerHTML = this.survey.title || "(set title in properties)";
    83             this.propertiesForm.set('value',this.survey);
     83            this.propertiesDialog.set('value',this.survey);
    8484        },
    8585        _onShowProperties: function(evt) {
     
    8888        _onPropertiesOk: function(evt) {
    8989            this.propertiesDialog.hide();
    90             lang.mixin(this.survey, this.propertiesForm.get('value'));
     90            lang.mixin(this.survey, this.propertiesDialog.get('value'));
    9191            this.refresh();
    9292            event.stop(evt);
     
    9595        _onPropertiesCancel: function(evt) {
    9696            this.propertiesDialog.hide();
    97             this.propertiesForm.set('value',this.survey);
     97            this.propertiesDialog.reset('value',this.survey);
    9898            event.stop(evt);
    9999            return false;
  • Dev/branches/rest-dojo-ui/client/rft/pages/surveys.js

    r416 r417  
    44    'dojo/_base/lang',
    55    'dojo/when',
     6    'rx/rx.dojo',
    67    '../store',
    78    '../app/Content',
    89    '../app/Page',
    910    '../app/Router',
    10     '../ui/LineWithActionsWidget',
    11     'dojo/text!./surveys.html'
    12 ],function(array,declare,lang,when,store,Content,Page,Router,LineWithActionsWidget,template){
     11    '../widgets/LineWithActionsWidget',
     12    'dojo/text!./templates/surveys.html'
     13],function(array,declare,lang,when,Rx,store,Content,Page,Router,LineWithActionsWidget,template){
    1314    return declare([Page],{
    1415        templateString: template,
     
    4748        },
    4849        _onRunSurvey:function(survey){
     50            this.surveyRun = {
     51                type: 'SurveyRun',
     52                surveyId: store.getIdentity(survey),
     53                publicationDate: store.timestamp()
     54            };
     55            this.surveyRunDialog.set('value',this.surveyRun);
    4956            this.surveyRunDialog.show();
     57        },
     58        _onSurveyRunOk: function() {
     59            var surveyRun = lang.mixin(lang.clone(this.surveyRun),this.surveyRunDialog.get('value'));
     60            store.put(surveyRun)
     61            .then(lang.hitch(this,function(){
     62                this.surveyRunDialog.hide();
     63                this.refreshRuns();
     64            }),function(err){
     65                Content.notify(err);
     66            });
     67        },
     68        _onSurveyRunCancel: function() {
     69            this.surveyRunDialog.hide();
    5070        },
    5171        refresh: function() {
     
    131151                array.forEach(surveyRuns,function(surveyRun){
    132152                    var w = new LineWithActionsWidget({
    133                         title: survey.title,
     153                        title: surveyRun.title+" (from "+surveyRun.startDate+" to "+surveyRun.endDate+")",
    134154                        actions:[{
    135155                            callback: lang.hitch(this,'_onCloseRun',surveyRun),
  • Dev/branches/rest-dojo-ui/client/rft/pages/templates/survey.html

    r415 r417  
    3939         data-dojo-attach-point="propertiesDialog"
    4040         data-dojo-attach-event="onSubmit:_onPropertiesOk">
    41 
    42         <div data-dojo-type="rft/ui/model/SurveyForm"
    43               data-dojo-attach-point="propertiesForm"></div>
    44            
    45         <div>
    46             <button data-dojo-type="dijit/form/Button"
    47                     type="submit"
    48                     data-dojo-attach-event="onClick:_onPropertiesOk">
    49                 OK</button>
    50             <button data-dojo-type="dijit/form/Button"
    51                     type="button"
    52                     data-dojo-attach-event="onClick:_onPropertiesCancel">
    53                 Cancel</button>
    54         </div>
    55 
     41        <fieldset data-dojo-type="rft/model/widgets/SurveyFieldset"></fieldset>
     42        <button data-dojo-type="dijit/form/Button"
     43                type="submit"
     44                data-dojo-attach-event="onClick:_onPropertiesOk">
     45            OK</button>
     46        <button data-dojo-type="dijit/form/Button"
     47                type="button"
     48                data-dojo-attach-event="onClick:_onPropertiesCancel">
     49            Cancel</button>
    5650    </div>
    5751
  • Dev/branches/rest-dojo-ui/client/rft/pages/templates/surveys.html

    r415 r417  
    3939         title="SurveyRun properties"
    4040         data-dojo-attach-point="surveyRunDialog">
    41         <form data-dojo-type="rft/ui/model/SurveyRunForm" data-dojo-attach-point="surveyRunForm">
    42             <button data-dojo-type="dijit/form/Button">OK</button>
    43             <button data-dojo-type="dijit/form/Button">Cancel</button>
    44         </form>
     41        <fieldset data-dojo-type="rft/model/widgets/SurveyRunFieldset"></fieldset>
     42        <button data-dojo-type="dijit/form/Button" data-dojo-attach-event="onClick:_onSurveyRunOk">OK</button>
     43        <button data-dojo-type="dijit/form/Button" data-dojo-attach-event="onClick:_onSurveyRunCancel">Cancel</button>
    4544    </div>
    4645
  • Dev/branches/rest-dojo-ui/client/rft/pages/viewSurvey.js

    r415 r417  
    77    '../store',
    88    '../app/Page',
    9     '../ui/model/QuestionWidgetFactory',
    10     'dojo/text!./viewSurvey.html'
     9    '../model/widgets/QuestionWidgetFactory',
     10    'dojo/text!./templates/viewSurvey.html'
    1111],function(array,declare,Deferred,event,lang,store,Page,QuestionWidgetFactory,template){
    1212    return declare([Page],{
  • Dev/branches/rest-dojo-ui/client/rft/stddeps.js

    r415 r417  
    2525    'dojox/grid/DataGrid',
    2626
    27     'rft/ui/LineWithActionsWidget',
     27    'rft/app/Notifications',
     28
     29    'rft/model/widgets/SurveyFieldset',
     30    'rft/model/widgets/SurveyRunFieldset',
     31    'rft/model/widgets/QuestionWidget',
     32    'rft/model/widgets/AccountListView',
     33
    2834    'rft/ui/MainMenu',
    2935    'rft/ui/MenuBarLink',
    3036    'rft/ui/MenuLink',
    31     'rft/ui/Notifications',
    32     'rft/ui/ObjectBox',
    33     'rft/ui/QuestionWidget',
    34     'rft/ui/Selector',
    35     'rft/ui/TitleGroup',
    36     'rft/ui/generic/DateTimeTextBox',
    37     'rft/ui/model/SurveyForm',
    38     'rft/ui/model/SurveyRunForm',
    39     'rft/ui/lists/AccountListView',
    40     'rft/ui/lists/List',
    41     'rft/ui/lists/OrderedList'
     37
     38    'rft/widgets/LineWithActionsWidget',
     39    'rft/widgets/ObjectBox',
     40    'rft/widgets/Selector',
     41    'rft/widgets/TitleGroup',
     42    'rft/widgets/DateTimeTextBox',
     43    'rft/widgets/list/List',
     44    'rft/widgets/list/OrderedList'
    4245],function(){});
  • Dev/branches/rest-dojo-ui/client/rft/store.js

    r415 r417  
    11define([
    22    'dojo/date/stamp',
     3    'dojo/store/Cache',
     4    'dojo/store/Memory',
    35    'dojox/json/schema',
    4     './schema',
     6    './model/schema',
    57    './store/CouchStore'
    6 ],function(stamp,jsonSchema,schema,CouchStore){
     8],function(stamp,Cache,Memory,jsonSchema,schema,CouchStore){
    79   
    8     var store = new CouchStore({
     10    var couchStore = new CouchStore({
    911        target: 'data/couch/',
    1012        validate: function(object) {
     
    1820        }
    1921    });
     22    var memoryStore = new Memory();
     23    var cacheStore = new Cache(couchStore,memoryStore,{});
     24
     25    var store = cacheStore;
    2026    store.formatDate = function(date){
    2127        return stamp.toISOString(date,{zulu:true});
  • Dev/branches/rest-dojo-ui/client/rft/ui/templates/SessionBar.html

    r407 r417  
    11<div class="${baseClass}">
    22    <span class="rftIcon rftIconSession" data-dojo-attach-point="iconNode"></span>
    3     <div data-dojo-type="rft/ui/LineWithActionsWidget" data-dojo-attach-point="upperNode" data-dojo-props="actions: {'inspect':{callback: inspect, properties: {blockButton: true}}}"></div>
    4     <div data-dojo-type="rft/ui/LineWithActionsWidget" data-dojo-attach-point="lowerNode"></div>
     3    <div data-dojo-type="rft/widgets/LineWithActionsWidget" data-dojo-attach-point="upperNode" data-dojo-props="actions: {'inspect':{callback: inspect, properties: {blockButton: true}}}"></div>
     4    <div data-dojo-type="rft/widgets/LineWithActionsWidget" data-dojo-attach-point="lowerNode"></div>
    55</div>
  • Dev/branches/rest-dojo-ui/client/rft/widgets/MultipleChoiceWidget.js

    r414 r417  
    1616            value: null,
    1717           
    18             _widegtCache: null,
     18            _widgetCache: null,
    1919            constuctor: function() {
    2020                this.inherited(arguments);
  • Dev/branches/rest-dojo-ui/client/rft/widgets/ObjectBox.js

    r414 r417  
    55    'dijit/_TemplatedMixin',
    66    'dijit/_WidgetsInTemplateMixin',
    7     'rft/ui/LineWithActionsWidget',
     7    './LineWithActionsWidget',
    88    'dojo/text!./templates/ObjectBox.html'
    99], function(declare, lang, _WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, LineWithActionsWidget, template){
  • Dev/branches/rest-dojo-ui/client/view.html

    r410 r417  
    1414            </div>
    1515        </div>
    16         <div id="toaster" data-dojo-type="rft/ui/Notifications">
     16        <div id="toaster" data-dojo-type="rft/app/Notifications">
    1717        </div>
    1818    </body>
Note: See TracChangeset for help on using the changeset viewer.