Blame view

frontend/web/js/artbox_basket.js 2.4 KB
fe7b6960   Yarik   Basket
1
2
  var ArtboxBasket = (function () {
      function ArtboxBasket() {
07a62660   Administrator   big commti
3
          $.get('/basket/main', function (data) {
fe7b6960   Yarik   Basket
4
              this._items = data.basket;
8ec69373   Yarik   Orders.
5
              this.updateModal(data.modal, data.cart);
fe7b6960   Yarik   Basket
6
7
8
9
10
11
12
13
14
15
16
17
18
19
          }.bind(this), 'json').fail(function () {
              console.error('Basket cannot be init');
          });
      }
      Object.defineProperty(ArtboxBasket.prototype, "items", {
          get: function () {
              return this._items;
          },
          enumerable: true,
          configurable: true
      });
      ArtboxBasket.prototype.add = function (product_variant_id, count) {
          $.post('/basket/add?product_variant_id=' + product_variant_id + '&count=' + count, function (data) {
              this._items = data.basket;
8ec69373   Yarik   Orders.
20
              this.updateModal(data.modal, data.cart, true);
fe7b6960   Yarik   Basket
21
22
23
24
25
26
27
          }.bind(this), 'json').fail(function (xhr, status, error) {
              console.error(error);
          });
      };
      ArtboxBasket.prototype.set = function (product_variant_id, count) {
          $.post('/basket/set?product_variant_id=' + product_variant_id + '&count=' + count, function (data) {
              this._items = data.basket;
8ec69373   Yarik   Orders.
28
              this.updateModal(data.modal, data.cart);
fe7b6960   Yarik   Basket
29
30
31
32
          }.bind(this), 'json').fail(function (xhr, status, error) {
              console.error(error);
          });
      };
8ec69373   Yarik   Orders.
33
      ArtboxBasket.prototype.updateModal = function (modal, cart_html, show) {
fe7b6960   Yarik   Basket
34
35
36
          if (show === void 0) { show = false; }
          var modalBox = $('#buyForm');
          modalBox.html(modal);
e4159574   Yarik   Hide after deletion
37
38
39
40
          if (this.count < 1) {
              modalBox.modal('hide');
          }
          else if (show) {
fe7b6960   Yarik   Basket
41
42
              modalBox.modal('show');
          }
8ec69373   Yarik   Orders.
43
          this.updateCart(cart_html);
fe7b6960   Yarik   Basket
44
      };
8ec69373   Yarik   Orders.
45
      ArtboxBasket.prototype.updateCart = function (cart_html) {
fe7b6960   Yarik   Basket
46
          var cart = $('#top-cart-content');
8ec69373   Yarik   Orders.
47
          cart.html(cart_html);
fe7b6960   Yarik   Basket
48
49
50
51
52
53
54
55
56
57
58
59
60
61
      };
      Object.defineProperty(ArtboxBasket.prototype, "count", {
          get: function () {
              return Object.keys(this._items).length;
          },
          enumerable: true,
          configurable: true
      });
      Object.defineProperty(ArtboxBasket.prototype, "sum", {
          get: function () {
              var sum = 0;
              $.each(this._items, function (index, value) {
                  sum += value.price * value.count;
              });
5181a91a   Administrator   big commti
62
              return sum.toFixed(2);
fe7b6960   Yarik   Basket
63
64
65
66
67
          },
          enumerable: true,
          configurable: true
      });
      return ArtboxBasket;
5181a91a   Administrator   big commti
68
  })();
fe7b6960   Yarik   Basket
69
  //# sourceMappingURL=artbox_basket.js.map