Changeset 2360

Show
Ignore:
Timestamp:
07/02/09 00:39:18 (8 months ago)
Author:
lmajano
Message:

addAsset now only loads assets when they have not been loaded already

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • coldbox/trunk/system/FrameworkSupertype.cfc

    r2350 r2360  
    329329                        var x = 1; 
    330330                        var thisAsset = ""; 
     331                        var event = controller.getRequestService().getContext(); 
     332                         
     333                        // request assets storage 
     334                        event.paramValue("cbox_assets",""); 
    331335                         
    332336                        for(x=1; x lte listLen(arguments.asset); x=x+1){ 
    333337                                thisAsset = listGetAt(arguments.asset,x); 
    334                                 if( listLast(thisAsset,".") eq "js" ){ 
    335                                         sb.append('<script src="#thisAsset#" type="text/javascript" language="javascript"></script>'); 
     338                                // Is asset already loaded 
     339                                if( listFindNoCase(event.getValue("cbox_assets"),thisAsset) ){ 
     340                                         
     341                                        // Load Asset 
     342                                        if( listLast(thisAsset,".") eq "js" ){ 
     343                                                sb.append('<script src="#thisAsset#" type="text/javascript" language="javascript"></script>'); 
     344                                        } 
     345                                        else{ 
     346                                                sb.append('<link href="#thisAsset#" type="text/css" rel="stylesheet" />'); 
     347                                        } 
     348                                         
     349                                        // Store It as Loaded 
     350                                        event.setValue("cbox_assets", listAppend(event.getValue("cbox_assets"),thisAsset) ); 
     351                                         
     352                                        //Load it 
     353                                        htmlhead(sb.toString()); 
    336354                                } 
    337                                 else{ 
    338                                         sb.append('<link href="#thisAsset#" type="text/css" rel="stylesheet" />'); 
    339                                 } 
    340                         } 
    341                 </cfscript> 
    342                 <cfhtmlhead text="#sb.toString()#"> 
     355                        } 
     356                </cfscript> 
    343357        </cffunction> 
    344358