Ignore:
Timestamp:
03/13/12 14:10:32 (13 years ago)
Author:
hendrikvanantwerpen
Message:

[Client] Use toaster to show errors from server
[Client] Create widget for mainmenu, cleaner loading of index.html now.
[Server] Renamed answerset datetime to more meaningful creationdate

Location:
Dev/branches/rest-dojo-ui/client
Files:
3 added
8 edited

Legend:

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

    r281 r311  
    44        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    55        <title>Research Facilitator Tool</title>
    6         <link type="text/css" href="dojotoolkit/dijit/themes/claro/claro.css" rel="stylesheet" />
    7         <link type="text/css" href="dojotoolkit/dojox/grid/resources/Grid.css" rel="stylesheet" />
    8         <link type="text/css" href="dojotoolkit/dojox/grid/resources/claroGrid.css" rel="stylesheet" />
    9         <link type="text/css" href="rft/css/main.css" rel="stylesheet" />
     6        <link rel="stylesheet" type="text/css" href="dojotoolkit/dijit/themes/claro/claro.css" />
     7        <link rel="stylesheet" type="text/css" href="dojotoolkit/dojox/grid/resources/Grid.css" />
     8        <link rel="stylesheet" type="text/css" href="dojotoolkit/dojox/grid/resources/claroGrid.css" />
     9        <link rel="stylesheet" type="text/css" href="dojotoolkit/dojox/widget/Toaster/Toaster.css" />
     10        <link rel="stylesheet" type="text/css" href="rft/css/main.css" />
    1011        <script type="text/javascript" src="dojotoolkit/dojo/dojo.js" data-dojo-config="async: true, parseOnLoad: false, tlmSiblingOfDojo: false, isDebug: true, baseUrl: '', packagePaths: {'dojotoolkit':['dojo','dijit', 'dojox'], '.':['rft']}"></script>
    1112        <script type="text/javascript" src="rft/run.js"></script>
     
    1314    <body class="claro">
    1415        <div id="header" class="mainHeader">
    15             <div id="menu" class="mainMenu"  data-dojo-type="dijit.MenuBar">
    16                 <div data-dojo-type="dijit.MenuBarItem" data-dojo-props="disabled: true">Research Facilitator Tool</div>
    17                 <div data-dojo-type="rft.ui.MenuBarLink" data-dojo-props="pageId:'sessions'">Sessions</div>
    18                 <div data-dojo-type="dijit.PopupMenuBarItem">
    19                     <span>Content</span>
    20                     <div data-dojo-type="dijit.DropDownMenu">
    21                         <div data-dojo-type="rft.ui.MenuLink" data-dojo-props="pageId:'surveys'">Surveys</div>
    22                         <div data-dojo-type="rft.ui.MenuLink" data-dojo-props="pageId:'questions'">Questions</div>
    23                         <div data-dojo-type="rft.ui.MenuLink" data-dojo-props="pageId:'applications'">Applications</div>
    24                         <div data-dojo-type="rft.ui.MenuLink" data-dojo-props="pageId:'dashboards'">Dashboards</div>
    25                     </div>
    26                 </div>
    27                 <div data-dojo-type="rft.ui.MenuBarLink" data-dojo-props="pageId:'results'">Results</div>
    28                 <div data-dojo-type="dijit.MenuBarItem" id="loginMenu" style="float:right;">Login/Register</div>
     16            <div id="menu" class="mainMenu"  data-dojo-type="rft.ui.MainMenu">
    2917            </div>
    3018        </div>
    31 
    3219        <div id="content" data-dojo-type="dijit.layout.ContentPane" style="width: 100%; height: 100%;">
    3320        </div>
    34 
     21        <div id="toaster" data-dojo-type="rft.ui.Notifications">
     22        </div>
    3523    </body>
    3624</html>
  • Dev/branches/rest-dojo-ui/client/rft/api.js

    r274 r311  
    1 define(['dojo/_base/xhr','dojo/_base/json','dojo/_base/Deferred','./auth'],function(xhr,json,Deferred){
    2     return {
    3         post: function(path,args) {
    4             return xhr.post({
    5                 url: "../server/api.php/"+path,
    6                 handleAs: "json",
    7                 headers: {
    8                     "Content-Type": "application/json"
    9                 },
    10                 rawBody: json.toJson(args)
    11             });
    12         }
    13     };
    14 });
     1define(['dojo/_base/xhr','dojo/_base/json','dojo/_base/connect'],
     2    function(xhr,json,connect){
     3        return new (function(){
     4            var self = this;
     5            this.post = function(path,args) {
     6                var dfd = xhr.post({
     7                    url: "../server/api.php/"+path,
     8                    handleAs: "json",
     9                    headers: {
     10                        "Content-Type": "application/json"
     11                    },
     12                    rawBody: json.toJson(args)
     13                });
     14                dfd.then(
     15                    function(){},
     16                    self.defaultErrorHandler);
     17                return dfd;
     18            };
     19            this.defaultErrorHandler = function(error) {
     20                var msg = "An error occured!";
     21                try {
     22                    msg = json.fromJson(error.responseText).errorMsg;
     23                } catch (ex) {
     24                    msg = error.message;
     25                }
     26                self.notify(msg,'error');
     27            };
     28            this.notify =  function(text,type) {
     29                connect.publish('/rft/notify',{
     30                    text: text,
     31                    type: type
     32                });
     33            };
     34        })();
     35    });
  • Dev/branches/rest-dojo-ui/client/rft/content.js

    r292 r311  
    2121define(['dojo/_base/declare','dojo/_base/connect','dojo/_base/xhr','dojo/_base/json',
    2222    'dojo/_base/lang','dojo/_base/Deferred','dojo/hash','dojo/dom-attr','dojo/dom-construct',
    23     'dojo/io-query','dijit','rft/util','rft/ui/_Page'],
     23    'dojo/io-query','dijit','./util','./ui/_Page'],
    2424    function(declare,connect,xhr,json,lang,Deferred,hash,attr,domConstruct,uriQuery,dijit,util,_Page){
    2525        return new (function() {
     
    145145                    return _goTo(new HRI(path,args));
    146146                }
    147             }
     147            };
    148148
    149149            self.goTo = function(path,args) {
     
    157157                    return {};
    158158                }
    159             }
     159            };
    160160
    161161            connect.subscribe('/dojo/hashchange', function(){
  • Dev/branches/rest-dojo-ui/client/rft/pages/survey.js

    r303 r311  
    1 define(['dojo/_base/declare','dojo/_base/lang','dojo/_base/event','dojo/_base/Deferred','rft/store','rft/ui/_Page'],
    2     function(declare,lang,event,Deferred,store,_Page){
     1define(['dojo/_base/declare','dojo/_base/lang','dojo/_base/event','dojo/_base/Deferred','rft/store','rft/ui/_Page','rft/api'],
     2    function(declare,lang,event,Deferred,store,_Page,api){
    33        return declare('rft.pages.survey',[_Page],{
    44            object: null,
     
    3131                    this.object = obj;
    3232                    this.setFields(obj);
     33                    api.notify("Object saved");
     34                }),lang.hitch(this,function(){
     35                    api.notify("Object save failed",'error');
    3336                }));
    3437                event.stop(evt);
  • Dev/branches/rest-dojo-ui/client/rft/run.js

    r292 r311  
    2525    'dojox/grid/DataGrid',
    2626    'dojox/widget/TitleGroup',
     27    'rft/ui/MainMenu',
    2728    'rft/ui/MenuBarLink',
    2829    'rft/ui/MenuLink',
     30    'rft/ui/Notifications',
    2931    'rft/ui/LineWithActionsWidget',
    3032    'rft/ui/QuestionWidget',
  • Dev/branches/rest-dojo-ui/client/rft/store.js

    r303 r311  
    1 define(['dojo/_base/lang','dojo/_base/array','dojo/_base/Deferred','dojo/store/JsonRest'],
    2     function(lang,array,Deferred,JsonRest){
     1define(['dojo/_base/lang','dojo/_base/array','dojo/_base/Deferred','dojo/store/JsonRest','./api'],
     2    function(lang,array,Deferred,JsonRest,api){
    33   
    44        var OBJ_TYPE = '__objectType';
     
    2020                idProperty: OBJ_UID
    2121            });
     22            var errHandler = api.defaultErrorHandler;
    2223            return lang.delegate(jsonStore,{
    2324                query: function(query, directives){
     
    2627                            return new RftObject(typeof result == "object" ? result : object);
    2728                        });
    28                     });
     29                    },errHandler);
    2930                },
    3031                get: function(id, directives){
    3132                    return Deferred.when( jsonStore.get(id,directives), function(result){
    3233                        return new RftObject(typeof result == "object" ? result : object);
    33                     });
     34                    },errHandler);
    3435                },
    3536                add: function(object, directives){
    3637                    return Deferred.when( jsonStore.add(object,directives), function(result){
    3738                        return new RftObject(typeof result == "object" ? result : object);
    38                     });
     39                    },errHandler);
    3940                },
    4041                put: function(object, directives){
    4142                    return Deferred.when( jsonStore.put(object,directives), function(result) {
    4243                        return new RftObject(typeof result == "object" ? result : object);
    43                     });
     44                    },errHandler);
    4445                },
    4546                remove: function(id, directives){
  • Dev/branches/rest-dojo-ui/client/rft/ui/AccordionList.js

    r305 r311  
    22    'dojo/_base/Deferred','dojo/dom-construct','dijit/_WidgetBase',
    33    'dijit/_TemplatedMixin','dijit/_WidgetsInTemplateMixin','dijit/TitlePane',
    4     'rft/ui/LineWithActionsWidget','dojo/text!rft/ui/templates/AccordionList.html'],
     4    'rft/ui/LineWithActionsWidget','dojo/text!./templates/AccordionList.html'],
    55    function(declare,lang,array,
    66        Deferred,domConstruct,_WidgetBase,
  • Dev/branches/rest-dojo-ui/client/rft/ui/templates/MultipleChoiceWidget.html

    r288 r311  
    11<div class="${baseClass}">
    22    <div data-dojo-attach-point="rows">
    3         <tr><td>a</td>
    43    </div>
    54    <div data-dojo-attach-point="buttons" class="row">
Note: See TracChangeset for help on using the changeset viewer.