cart.page.js 3.53 KB
var $ = require('yoho-jquery');
var Cart = require('./cart/cart');
var Stepper = require('./cart/stepper');

$(function() {
    var $this;

    // 关闭info-bar
    $('.info-bar .close').on('click', function() {
        $('.info-bar').hide();
    });

    $('#cart_content').delegate('.toggle-chk, .toggle-chk-item', 'click', function() {
        // 全选和单选
        Cart.toggleCheck.call(Cart, this);
    }).delegate('.remove-item', 'click', function() {
        // 删除商品
        // 重构
        Cart.removePro([$.parseJSON($(this).parents('ul').children().first().attr('data-product_info'))]);
    }).delegate('#remove_selected', 'click', function(e) {
        // 删除多个商品
        // 重构
        // 选择的商品
        var selectedProducts = [],
            product;

        e.preventDefault();
        $('#cart_content').find('li.chk').each(function() {
            product = $(this);
            if (product.find('label.chk-group').length) {
                selectedProducts.push($.parseJSON(product.attr('data-product_info')));
            }
        });
        Cart.removePro(selectedProducts);
    }).delegate('.send-to-favorite', 'click', function() {
        // 移入收藏夹
        // 重构
        Cart.sendToFavorite([$.parseJSON($(this).parents('ul').children().first().attr('data-product_info'))]);
    }).delegate('#send_favorite', 'click', function(e) {
        // 将多个商品移入收藏夹
        // 重构
        // 选择的商品
        var selectedProducts = [],
            product;

        e.preventDefault();
        $('#cart_content').find('li.chk').each(function() {
            product = $(this);
            if (product.find('label.chk-group').length) {
                selectedProducts.push($.parseJSON(product.attr('data-product_info')));
            }
        });
        Cart.sendToFavorite(selectedProducts);
    }).delegate('.editable', 'click', function() {
        $this = $(this);

        // 编辑商品颜色和属性
        Cart.editColorOrSize(
            $this.attr('data-productId'),
            $this.attr('data-productSkn'),
            $this.find('.default-color').text(),
            $this.find('.default-size').text());

        $('body').on('click', function() {
            $('.edit-color-size').remove();
        });
    }).delegate('#checkout_btn', 'click', function(e) {
        e.preventDefault();

        Cart.checkStorage(function() {
            if (!$(this).hasClass('disable')) {
                window.location.href = '/shopping/order';
            }
        });
    });

    // // 全选和单选
    // $('.toggle-chk, .toggle-chk-item').on('click', function() {
    //     Cart.toggleCheck.call(Cart, this);
    // });

    // 变动商品数量
    Stepper.init();

    // // 删除商品
    // $('.remove-item').on('click', function() {
    //     Cart.removePro($(this).attr('data-productId'));
    // });

    // // 移入收藏夹
    // $('.send-to-favorite').on('click', function() {
    //     Cart.sendToFavorite($(this).attr('data-productId'));
    // });

    // // 编辑商品颜色和属性
    // $('.editable').on('click', function() {
    //     Cart.editColorOrSize($(this).attr('data-productId'));
    // });

    // TODO=>
    // $('#add_to_cart1').on('click', function() {
    //     Cart.addToCart({
    //         productSku: '1413600',
    //         buyNumber: 1
    //     });
    // });

    // $('#add_to_cart2').on('click', function() {
    //     Cart.addToCart({
    //         productSku: '972201',
    //         buyNumber: 2
    //     });
    // });
    // TODO=>
});