Changeset 15050


Ignore:
Timestamp:
03/05/10 18:20:06 (2 years ago)
Author:
sys
Message:

impl desk.openRefUri()

Location:
trunk/Xul_Wsp
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Xul_Wsp/content/scenariWsp/desks/wspDesk/wspDesk.js

    r15045 r15050  
    211211                }); 
    212212                 
     213                //onload : Ouverture d'une Uri... 
     214                extPoints.addToList("event:load:wspDesk", "launchUri", 1, function(){ 
     215                        if(window.arguments.length > 0) { 
     216                                var vLaunchContext = window.arguments[0]; 
     217                                if(vLaunchContext && vLaunchContext.refUriToOpen) { 
     218                                        desk.openRefUri(vLaunchContext.refUriToOpen); 
     219                                } 
     220                        } 
     221                }); 
     222                 
    213223                 
    214224                //onunload : Enregistrement du contexte d'utilisation de cette fenêtre.  
     
    306316        fController : {}, 
    307317         
    308         /** @Api Desk. Enregistre tout ce qui est dirty concernant le wsp pCdWsp ou 
     318        /**  
     319         * @Api Desks avec contenus. Enregistre tout ce qui est dirty concernant le wsp pCdWsp ou 
    309320         * tout wsp confondu si pCdWsp n'est pas renseigné. 
    310321         */ 
     
    312323                return this.getController("ContentViewController").saveAll(); 
    313324        }, 
     325         
     326        /** 
     327         * @Api Desks avec contenus. Permet d'accéder à une uri quelconque. 
     328         */ 
     329        openRefUri : function(pRefUri, pOptions) { 
     330                try { 
     331                        if(!pRefUri) return; 
     332                        if(! src.isSrcId(pRefUri)) desk.getController("ContentViewController").openSrcUri(pRefUri, pOptions); 
     333                        else { 
     334                                function cbGetSrcUri(pShortDesc, pCdError) { 
     335                                        if(pShortDesc) desk.getController("ContentViewController").openSrcUri(pShortDesc.srcUri, pOptions); 
     336                                } 
     337                                var vUriObjectWsp = new UriObjectWsp(this.getWsp().getCode(), this.getWsp().getDataProvider()); 
     338                                vUriObjectWsp.loadShortDesc(pRefUri, cbGetSrcUri); 
     339                        } 
     340                }catch(e){log.debug("desk.openRefUri failed for '"+pRefUri+"': "+e);} 
     341        }, 
     342         
    314343         
    315344        /**  
  • trunk/Xul_Wsp/content/scenariWsp/widgets/refItem/refItem.xbl.xml

    r15049 r15050  
    117117                                        if(!pShortDesc) return null; 
    118118                                        if(extPoints.getPref("refUri.refById", false) && pShortDesc.srcId) { 
    119                                                 return src.buildRefUriFromId(pShortDesc.srcId); 
     119                                                return pShortDesc.srcId; 
    120120                                        } else { 
    121121                                                return pShortDesc.srcUri; 
  • trunk/Xul_Wsp/content/scenariWsp/windows/itemSelector/selItem.js

    r15049 r15050  
    9898                extPoints.addToList("event:load:selItem", "initSelectedItemView", 1, function(){ 
    9999                        try { 
    100                         var vRefItemView = document.getElementById("selectedItemView"); 
    101                         //Init du contexte 
    102                         vRefItemView.fUriObject = new UriObjectWsp(desk.getWsp().getCode(), desk.getWsp().getDataProvider()); 
    103                         //Abonnement à DeskInfo pour mettre à jour l'item sélectionné 
    104                         var vListener = { 
    105                                 onDeskInfo : function(pDeskInfo){ 
    106                                         if(pDeskInfo.type=="contentViewChange") { 
    107                                                 var vNewUriObject = pDeskInfo.newUriObject; 
    108                                                 if(vNewUriObject) { 
    109                                                         var vShortDesc = vNewUriObject.getShortDesc(); 
    110                                                         if(vShortDesc.itModel) { 
    111                                                                 //C'est bien un item. 
    112                                                                 sResult.refUri = vNewUriObject.getRefUri(); 
    113                                                                 sResult.shortDesc = vNewUriObject.getShortDesc(); 
    114                                                                 vRefItemView.setRefUri(sResult.refUri, sResult.shortDesc); 
     100                                var vRefItemView = document.getElementById("selectedItemView"); 
     101                                //Init du contexte 
     102                                vRefItemView.fUriObject = new UriObjectWsp(desk.getWsp().getCode(), desk.getWsp().getDataProvider()); 
     103                                //Abonnement à DeskInfo pour mettre à jour l'item sélectionné 
     104                                var vListener = { 
     105                                        onDeskInfo : function(pDeskInfo){ 
     106                                                if(pDeskInfo.type=="contentViewChange") { 
     107                                                        var vNewUriObject = pDeskInfo.newUriObject; 
     108                                                        if(vNewUriObject) { 
     109                                                                var vShortDesc = vNewUriObject.getShortDesc(); 
     110                                                                if(vShortDesc.itModel) { 
     111                                                                        //C'est bien un item. 
     112                                                                        sResult.refUri = vNewUriObject.getRefUri(); 
     113                                                                        sResult.shortDesc = vNewUriObject.getShortDesc(); 
     114                                                                        vRefItemView.setRefUri(sResult.refUri, sResult.shortDesc); 
     115                                                                } 
    115116                                                        } 
    116117                                                } 
    117118                                        } 
    118119                                } 
    119                         } 
    120                         window.desk.addDeskInfoListener(vListener); 
    121                         //Init de la ref en cours. 
    122                         if(sContext.shortDesc) desk.getController('ContentViewController').openSrcUri(sContext.shortDesc.srcUri); 
    123                         else if(sContext.refUri) { 
    124                                 if(! src.isSrcId(sContext.refUri)) desk.getController('ContentViewController').openSrcUri(sContext.refUri); 
    125                                 else { 
    126                                         //TODO idUri -> srcUri 
    127                                 } 
    128                         } 
     120                                window.desk.addDeskInfoListener(vListener); 
     121                                //Init de la ref en cours. 
     122                                if(sContext.refUri) desk.openRefUri(sContext.refUri); 
    129123                        }catch(e){log.debug(e);} 
    130124                }, 100, true); 
     
    208202        fController : {}, 
    209203         
    210         /** @Api Desk. Enregistre tout ce qui est dirty concernant le wsp pCdWsp ou 
     204        /** @Api Desk avec contenus. Enregistre tout ce qui est dirty concernant le wsp pCdWsp ou 
    211205         * tout wsp confondu si pCdWsp n'est pas renseigné. 
    212206         */ 
    213207        saveAll : function(pCdWsp) { 
    214208                return this.getController("ContentViewController").saveAll(); 
    215         }, 
     209        },       
     210         
     211        /** 
     212         * @Api Desks avec contenus. Permet d'accéder à une uri quelconque. 
     213         */ 
     214        openRefUri : function(pRefUri, pOptions) { 
     215                try { 
     216                        if(!pRefUri) return; 
     217                        if(! src.isSrcId(pRefUri)) desk.getController("ContentViewController").openSrcUri(pRefUri, pOptions); 
     218                        else { 
     219                                function cbGetSrcUri(pShortDesc, pCdError) { 
     220                                        if(pShortDesc) desk.getController("ContentViewController").openSrcUri(pShortDesc.srcUri, pOptions); 
     221                                } 
     222                                var vUriObjectWsp = new UriObjectWsp(this.getWsp().getCode(), this.getWsp().getDataProvider()); 
     223                                vUriObjectWsp.loadShortDesc(pRefUri, cbGetSrcUri); 
     224                        } 
     225                }catch(e){log.debug("desk.openRefUri failed for '"+pRefUri+"': "+e);} 
     226        }, 
     227 
    216228         
    217229        /**  
  • trunk/Xul_Wsp/modules/scenariWsp/commons/src.jsm

    r15032 r15050  
    116116 
    117117/** 
    118  * Construit une refUri à partir d'un id. 
    119  */ 
    120 src.buildRefUriFromId = function (pSrcId) { 
    121         return src.ID_PREFIX + pSrcId; 
    122 } 
    123  
    124 /** 
    125118 * Enrichit les fields d�finissant le contenu du shortDesc. 
    126119 *  
Note: See TracChangeset for help on using the changeset viewer.