Ignore:
Timestamp:
02/14/12 18:22:25 (13 years ago)
Author:
hendrikvanantwerpen
Message:
  • Clear LoginDialog? on show (in case of re-show).
  • Allow to link nodes/widgets to rft.ui.Page members with data-rft-attach-point attribute.
  • Allow arguments to a page to be passed with data-rft-props argument. Content loader rft.content sets this argument on the top node of a loaded page.
  • Have longer cookie-lifetime and update cookie when session is restored. Allow session restore in API and client code.
  • Moved startup Javascript to rft/run.js.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Dev/branches/rest-dojo-ui/client/rft/content.js

    r257 r260  
    1 define(['dojo/_base/declare','dojo/_base/connect','dojo/_base/xhr','dojo/_base/lang','dojo/_base/Deferred','dojo/hash','dojo/io-query','dijit/registry','dijit','rft/util','rft/ui/Page'],
    2     function(declare,connect,xhr,lang,Deferred,hash,uriQuery,registry,dijit,util,Page){
     1define(['dojo/_base/declare','dojo/_base/connect','dojo/_base/xhr','dojo/dom-construct',
     2    'dojo/dom-attr','dojo/_base/lang','dojo/_base/Deferred','dojo/hash',
     3    'dojo/io-query','dojo/_base/json','dijit','rft/util'],
     4    function(declare,connect,xhr,domConstruct,attr,lang,Deferred,hash,uriQuery,json,dijit,util){
    35        return new (function() {
    46            var self = this;
     
    68           
    79            var HRI = declare(null,{
    8                 constructor: function(){
     10                constructor: function() {
    911                    this._path = '/';
    1012                    this._args = {};
     
    6163                hash(newHash,replace);
    6264                xhr.get({
    63                     url: 'pages'+hri.path()+'.html'
     65                    url: 'pages'+hri.path()+'.html',
     66                    failOk: true
    6467                })
    6568                .then(function(html){
    66                     contentPane.set('content',html);
    67                     var widgets = registry.findWidgets(contentPane.containerNode);
    68                     for(var i in widgets) {
    69                         if ( widgets[i].isInstanceOf(Page) ) {
    70                             widgets[i].init(hri.args());
    71                             break;
    72                         }
    73                     }
     69                    var root = domConstruct.toDom(html)
     70                    var props = json.toJson(hri.args());
     71                    props = props.slice(1,props.length-2);
     72                    if ( props )
     73                        attr.set(root,'data-rft-props',props);
     74                    contentPane.set('content',root);
    7475                    d.resolve();
    7576                },function(){
     
    8283            self.initial = function(path,args) {
    8384                if ( current ) {
    84                     return;
     85                    var dfd = new Deferred();
     86                    dfd.resolved();
     87                    return dfd.promise;
    8588                }
    8689                if ( hash() ) {
    8790                    var hri = new HRI(hash());
    88                     _goTo(hri, true);
     91                    return _goTo(hri, true);
    8992                } else {
    90                     _goTo(new HRI(path,args));
     93                    return _goTo(new HRI(path,args));
    9194                }
    9295            }
    9396
    9497            self.goTo = function(path,args) {
    95                 _goTo(new HRI(path,args));
     98                return _goTo(new HRI(path,args));
    9699            }
    97100
Note: See TracChangeset for help on using the changeset viewer.