[web] use a redirect for /data/foo requests that don't use the instance md5 hash
The actual file contents can be cached for a long time. If the request
doesn't use the hash, that's wrong. Using a redirect lets keep the
caching for the actual file contents while not breaking requests missing
the hash.
+ − ( function ( $ ) {
+ − var CLASSES = $ . treeview . classes ;
+ − var proxied = $ . fn . treeview ;
+ − $ . fn . treeview = function ( settings ) {
+ − settings = $ . extend ({}, settings );
+ − if ( settings . add ) {
+ − return this . trigger ( "add" , [ settings . add ]);
+ − }
+ − if ( settings . remove ) {
+ − return this . trigger ( "remove" , [ settings . remove ]);
+ − }
+ − return proxied . apply ( this , arguments ). bind ( "add" , function ( event , branches ) {
+ − $ ( branches ). prev ()
+ − . removeClass ( CLASSES . last )
+ − . removeClass ( CLASSES . lastCollapsable )
+ − . removeClass ( CLASSES . lastExpandable )
+ − . find ( ">.hitarea" )
+ − . removeClass ( CLASSES . lastCollapsableHitarea )
+ − . removeClass ( CLASSES . lastExpandableHitarea );
+ − $ ( branches ). find ( "li" ). andSelf (). prepareBranches ( settings ). applyClasses ( settings , $ ( this ). data ( "toggler" ));
+ − }). bind ( "remove" , function ( event , branches ) {
+ − var prev = $ ( branches ). prev ();
+ − var parent = $ ( branches ). parent ();
+ − $ ( branches ). remove ();
+ − prev . filter ( ":last-child" ). addClass ( CLASSES . last )
+ − . filter ( "." + CLASSES . expandable ). replaceClass ( CLASSES . last , CLASSES . lastExpandable ). end ()
+ − . find ( ">.hitarea" ). replaceClass ( CLASSES . expandableHitarea , CLASSES . lastExpandableHitarea ). end ()
+ − . filter ( "." + CLASSES . collapsable ). replaceClass ( CLASSES . last , CLASSES . lastCollapsable ). end ()
+ − . find ( ">.hitarea" ). replaceClass ( CLASSES . collapsableHitarea , CLASSES . lastCollapsableHitarea );
+ − if ( parent . is ( ":not(:has(>))" ) && parent [ 0 ] != this ) {
+ − parent . parent (). removeClass ( CLASSES . collapsable ). removeClass ( CLASSES . expandable )
+ − parent . siblings ( ".hitarea" ). andSelf (). remove ();
+ − }
+ − });
+ − };
+ −
+ − })( jQuery );