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() {
}
} );