silk.shop.basket.mount = xb.core.object.extend( silk.node.mount, { ctor: function( domNode, name, resource ) { this.DOMNodeHandler = silk.shop.basket.mount.handler; silk.node.mount.prototype.ctor.call( this, domNode, name, resource ); } } ); silk.shop.basket.mount.handler = xb.core.object.extend( silk.node.mount.DOMNode, { factory: function( mount, domNode ) { return new silk.shop.basket.mount.handler( mount, domNode ); }, ctor: function( mount, domNode ) { silk.node.mount.DOMNode.prototype.ctor.call( this, mount, domNode ); }, display: function( data, reset ) { silk.node.mount.DOMNode.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 []; } } ); silk.shop.basket.mount.resource = xb.core.object.extend( silk.resource, { handlers: { "*": silk.shop.basket.mount }, ctor: function( config ) { silk.resource.prototype.ctor.call( this, config ); this.loaded = false; silk.shop.basket.init( this ); }, init: function() { var self = this; this.data = []; console.log( "basketResource::init" ); var params = {}; // this.loadURL( "/components/apps/shop/basket/json.list.php", null, function( data ) { console.warn( "data" ); console.log( data ); self.load( { "basket": data } ); self.loaded = true; } ); }, save: function() { } } );