var basketMountHandler = xb.core.object.extend( silkMountDOMNode, { factory: function( mount, domNode ) { return new basketMountHandler( mount, domNode ); }, ctor: function( mount, domNode ) { silkMountDOMNode.prototype.ctor.call( this, mount, domNode ); }, display: function( data, reset ) { silkMountDOMNode.prototype.display.call( this, data, reset ); var list = this.getProductList( data ); if ( list.length ) { $( this.domNode ).parents( ".silk-object.basket" ).addClass( "filled" ); } else { $( this.domNode ).parents( ".silk-object.basket" ).removeClass( "filled" ); } }, getProductList: function( data ) { for ( var i = 0, il = data.length; i < il; i++ ) { if ( data[ i ][ "basket-list" ] instanceof Array ) { return data[ i ][ "basket-list" ]; } } return []; } } ); var basketMount = xb.core.object.extend( silkNodeMount, { DOMNodeHandler: basketMountHandler, ctor: function( domNode, name, resource ) { var self = this; silkNodeMount.prototype.ctor.call( this, domNode, name, resource ); } } ); var basketResource = xb.core.object.extend( silkResource, { handlers: { "*": basketMount }, ctor: function( config ) { silkResource.prototype.ctor.call( this, config ); this.loaded = false; silk.basket.init( this ); }, add: function( name, elm ) { silkResource.prototype.add.call( this, name, elm ); if ( this.mounts.basket.nodes.length > 1 ) { return; var self = this; // geef runtime aan load thread window.setTimeout( function() { var l = self.mounts.basket.nodes.length - 1; self.mounts.basket.nodes[ l ].display( self.data[ name ] ); }, 250 ); } }, init: function() { var self = this; this.data = []; console.log( "basketResource::init" ); var params = {}; // this.loadURL( "/components/objects/basket/json.list.php", null, function( data ) { console.warn( "data" ); console.log( data ); self.load( { "basket": data } ); self.loaded = true; } ); }, save: function() { } } );