Commit ed038e99acbf0a27f8e11665deb4a870b31772b6
1 parent
11ecfb79
Order
Showing
9 changed files
with
139 additions
and
101 deletions
Show diff stats
controllers/BasketController.php
@@ -20,7 +20,7 @@ | @@ -20,7 +20,7 @@ | ||
20 | /** | 20 | /** |
21 | * @var Basket $basket | 21 | * @var Basket $basket |
22 | */ | 22 | */ |
23 | - $basket = \Yii::$app->basket; | 23 | + $basket = \Yii::$app->get('basket'); |
24 | $result = [ | 24 | $result = [ |
25 | 'basket' => $basket->getData(), | 25 | 'basket' => $basket->getData(), |
26 | 'modal' => $this->getModal($basket), | 26 | 'modal' => $this->getModal($basket), |
@@ -28,16 +28,16 @@ | @@ -28,16 +28,16 @@ | ||
28 | ]; | 28 | ]; |
29 | return $result; | 29 | return $result; |
30 | } | 30 | } |
31 | - | ||
32 | - public function actionAdd(int $product_variant_id, int $count) | 31 | + |
32 | + public function actionAdd(int $variant_id, int $count) | ||
33 | { | 33 | { |
34 | $response = \Yii::$app->response; | 34 | $response = \Yii::$app->response; |
35 | $response->format = Response::FORMAT_JSON; | 35 | $response->format = Response::FORMAT_JSON; |
36 | /** | 36 | /** |
37 | * @var Basket $basket | 37 | * @var Basket $basket |
38 | */ | 38 | */ |
39 | - $basket = \Yii::$app->basket; | ||
40 | - $basket->add($product_variant_id, $count); | 39 | + $basket = \Yii::$app->get('basket'); |
40 | + $basket->add($variant_id, $count); | ||
41 | $result = [ | 41 | $result = [ |
42 | 'basket' => $basket->getData(), | 42 | 'basket' => $basket->getData(), |
43 | 'modal' => $this->getModal($basket), | 43 | 'modal' => $this->getModal($basket), |
@@ -45,16 +45,16 @@ | @@ -45,16 +45,16 @@ | ||
45 | ]; | 45 | ]; |
46 | return $result; | 46 | return $result; |
47 | } | 47 | } |
48 | - | ||
49 | - public function actionSet(int $product_variant_id, int $count) | 48 | + |
49 | + public function actionSet(int $variant_id, int $count) | ||
50 | { | 50 | { |
51 | $response = \Yii::$app->response; | 51 | $response = \Yii::$app->response; |
52 | $response->format = Response::FORMAT_JSON; | 52 | $response->format = Response::FORMAT_JSON; |
53 | /** | 53 | /** |
54 | * @var Basket $basket | 54 | * @var Basket $basket |
55 | */ | 55 | */ |
56 | - $basket = \Yii::$app->basket; | ||
57 | - $basket->set($product_variant_id, $count); | 56 | + $basket = \Yii::$app->get('basket'); |
57 | + $basket->set($variant_id, $count); | ||
58 | $result = [ | 58 | $result = [ |
59 | 'basket' => $basket->getData(), | 59 | 'basket' => $basket->getData(), |
60 | 'modal' => $this->getModal($basket), | 60 | 'modal' => $this->getModal($basket), |
@@ -62,10 +62,10 @@ | @@ -62,10 +62,10 @@ | ||
62 | ]; | 62 | ]; |
63 | return $result; | 63 | return $result; |
64 | } | 64 | } |
65 | - | ||
66 | - public function actionRemove(int $product_variant_id) | 65 | + |
66 | + public function actionRemove(int $variant_id) | ||
67 | { | 67 | { |
68 | - return $this->actionSet($product_variant_id, 0); | 68 | + return $this->actionSet($variant_id, 0); |
69 | } | 69 | } |
70 | 70 | ||
71 | public function actionTest() | 71 | public function actionTest() |
@@ -73,7 +73,7 @@ | @@ -73,7 +73,7 @@ | ||
73 | /** | 73 | /** |
74 | * @var Basket $basket | 74 | * @var Basket $basket |
75 | */ | 75 | */ |
76 | - $basket = \Yii::$app->basket; | 76 | + $basket = \Yii::$app->get('basket'); |
77 | $modal = $this->getModal($basket); | 77 | $modal = $this->getModal($basket); |
78 | return $modal; | 78 | return $modal; |
79 | } | 79 | } |
migrations/m170503_145306_create_order_product_table.php
@@ -37,7 +37,7 @@ | @@ -37,7 +37,7 @@ | ||
37 | ); | 37 | ); |
38 | 38 | ||
39 | $this->addForeignKey( | 39 | $this->addForeignKey( |
40 | - 'order_product_variant_id_fkey', | 40 | + 'order_variant_id_fkey', |
41 | 'order_product', | 41 | 'order_product', |
42 | 'variant_id', | 42 | 'variant_id', |
43 | 'variant', | 43 | 'variant', |
@@ -53,7 +53,7 @@ | @@ -53,7 +53,7 @@ | ||
53 | public function safeDown() | 53 | public function safeDown() |
54 | { | 54 | { |
55 | $this->dropForeignKey('order_product_order_id_fkey', 'order_product'); | 55 | $this->dropForeignKey('order_product_order_id_fkey', 'order_product'); |
56 | - $this->dropForeignKey('order_product_variant_id_fkey', 'order_product'); | 56 | + $this->dropForeignKey('order_variant_id_fkey', 'order_product'); |
57 | 57 | ||
58 | $this->dropTable('order_product'); | 58 | $this->dropTable('order_product'); |
59 | } | 59 | } |
models/Delivery.php
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | namespace artbox\order\models; | 3 | namespace artbox\order\models; |
4 | - | 4 | + |
5 | + use artbox\core\behaviors\LanguageBehavior; | ||
5 | use artbox\core\models\Language; | 6 | use artbox\core\models\Language; |
6 | use Yii; | 7 | use Yii; |
7 | - | 8 | + use yii\db\ActiveQuery; |
9 | + use yii\web\Request; | ||
10 | + | ||
8 | /** | 11 | /** |
9 | * This is the model class for table "delivery". | 12 | * This is the model class for table "delivery". |
10 | * | 13 | * |
11 | * @property integer $id | 14 | * @property integer $id |
12 | * @property integer $sort | 15 | * @property integer $sort |
13 | - * @property string $value | 16 | + * @property float $value |
14 | * @property boolean $status | 17 | * @property boolean $status |
15 | * @property DeliveryLang[] $deliveryLangs | 18 | * @property DeliveryLang[] $deliveryLangs |
16 | * @property Language[] $languages | 19 | * @property Language[] $languages |
17 | * @property Order[] $orders | 20 | * @property Order[] $orders |
21 | + * * * From language behavior * | ||
22 | + * @property DeliveryLang $lang | ||
23 | + * @property DeliveryLang[] $langs | ||
24 | + * @property DeliveryLang $objectLang | ||
25 | + * @property string $ownerKey | ||
26 | + * @property string $langKey | ||
27 | + * @property DeliveryLang[] $modelLangs | ||
28 | + * @property bool $transactionStatus | ||
29 | + * @method string getOwnerKey() | ||
30 | + * @method void setOwnerKey( string $value ) | ||
31 | + * @method string getLangKey() | ||
32 | + * @method void setLangKey( string $value ) | ||
33 | + * @method ActiveQuery getLangs() | ||
34 | + * @method ActiveQuery getLang( integer $language_id ) | ||
35 | + * @method DeliveryLang[] generateLangs() | ||
36 | + * @method void loadLangs( Request $request ) | ||
37 | + * @method bool linkLangs() | ||
38 | + * @method bool saveLangs() | ||
39 | + * @method bool getTransactionStatus() | ||
40 | + * @method bool loadWithLangs( Request $request ) | ||
41 | + * @method bool saveWithLangs() | ||
42 | + * * End language behavior * | ||
43 | + * @see LanguageBehavior | ||
18 | */ | 44 | */ |
19 | class Delivery extends \yii\db\ActiveRecord | 45 | class Delivery extends \yii\db\ActiveRecord |
20 | { | 46 | { |
@@ -25,7 +51,7 @@ | @@ -25,7 +51,7 @@ | ||
25 | { | 51 | { |
26 | return 'delivery'; | 52 | return 'delivery'; |
27 | } | 53 | } |
28 | - | 54 | + |
29 | /** | 55 | /** |
30 | * @inheritdoc | 56 | * @inheritdoc |
31 | */ | 57 | */ |
@@ -46,7 +72,19 @@ | @@ -46,7 +72,19 @@ | ||
46 | ], | 72 | ], |
47 | ]; | 73 | ]; |
48 | } | 74 | } |
49 | - | 75 | + |
76 | + /** | ||
77 | + * @inheritdoc | ||
78 | + */ | ||
79 | + public function behaviors() | ||
80 | + { | ||
81 | + return [ | ||
82 | + 'language' => [ | ||
83 | + 'class' => LanguageBehavior::className(), | ||
84 | + ], | ||
85 | + ]; | ||
86 | + } | ||
87 | + | ||
50 | /** | 88 | /** |
51 | * @inheritdoc | 89 | * @inheritdoc |
52 | */ | 90 | */ |
@@ -59,7 +97,7 @@ | @@ -59,7 +97,7 @@ | ||
59 | 'status' => Yii::t('order', 'Status'), | 97 | 'status' => Yii::t('order', 'Status'), |
60 | ]; | 98 | ]; |
61 | } | 99 | } |
62 | - | 100 | + |
63 | /** | 101 | /** |
64 | * @return \yii\db\ActiveQuery | 102 | * @return \yii\db\ActiveQuery |
65 | */ | 103 | */ |
@@ -67,7 +105,7 @@ | @@ -67,7 +105,7 @@ | ||
67 | { | 105 | { |
68 | return $this->hasMany(DeliveryLang::className(), [ 'delivery_id' => 'id' ]); | 106 | return $this->hasMany(DeliveryLang::className(), [ 'delivery_id' => 'id' ]); |
69 | } | 107 | } |
70 | - | 108 | + |
71 | /** | 109 | /** |
72 | * @return \yii\db\ActiveQuery | 110 | * @return \yii\db\ActiveQuery |
73 | */ | 111 | */ |
@@ -76,7 +114,7 @@ | @@ -76,7 +114,7 @@ | ||
76 | return $this->hasMany(Language::className(), [ 'id' => 'language_id' ]) | 114 | return $this->hasMany(Language::className(), [ 'id' => 'language_id' ]) |
77 | ->viaTable('delivery_lang', [ 'delivery_id' => 'id' ]); | 115 | ->viaTable('delivery_lang', [ 'delivery_id' => 'id' ]); |
78 | } | 116 | } |
79 | - | 117 | + |
80 | /** | 118 | /** |
81 | * @return \yii\db\ActiveQuery | 119 | * @return \yii\db\ActiveQuery |
82 | */ | 120 | */ |
models/Order.php
@@ -3,7 +3,8 @@ | @@ -3,7 +3,8 @@ | ||
3 | namespace artbox\order\models; | 3 | namespace artbox\order\models; |
4 | 4 | ||
5 | use Yii; | 5 | use Yii; |
6 | - | 6 | + use yii\db\ActiveRecord; |
7 | + | ||
7 | /** | 8 | /** |
8 | * This is the model class for table "order". | 9 | * This is the model class for table "order". |
9 | * | 10 | * |
@@ -27,7 +28,7 @@ | @@ -27,7 +28,7 @@ | ||
27 | * @property Payment $payment | 28 | * @property Payment $payment |
28 | * @property OrderProduct[] $orderProducts | 29 | * @property OrderProduct[] $orderProducts |
29 | */ | 30 | */ |
30 | - class Order extends \yii\db\ActiveRecord | 31 | + class Order extends ActiveRecord |
31 | { | 32 | { |
32 | /** | 33 | /** |
33 | * @inheritdoc | 34 | * @inheritdoc |
models/Payment.php
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | namespace artbox\order\models; | 3 | namespace artbox\order\models; |
4 | - | 4 | + |
5 | + use artbox\core\behaviors\LanguageBehavior; | ||
5 | use artbox\core\models\Language; | 6 | use artbox\core\models\Language; |
6 | use Yii; | 7 | use Yii; |
7 | - | 8 | + use yii\db\ActiveQuery; |
9 | + use yii\web\Request; | ||
10 | + | ||
8 | /** | 11 | /** |
9 | * This is the model class for table "payment". | 12 | * This is the model class for table "payment". |
10 | * | 13 | * |
@@ -14,6 +17,29 @@ | @@ -14,6 +17,29 @@ | ||
14 | * @property Order[] $orders | 17 | * @property Order[] $orders |
15 | * @property PaymentLang[] $paymentLangs | 18 | * @property PaymentLang[] $paymentLangs |
16 | * @property Language[] $languages | 19 | * @property Language[] $languages |
20 | + * * From language behavior * | ||
21 | + * @property PaymentLang $lang | ||
22 | + * @property PaymentLang[] $langs | ||
23 | + * @property PaymentLang $objectLang | ||
24 | + * @property string $ownerKey | ||
25 | + * @property string $langKey | ||
26 | + * @property PaymentLang[] $modelLangs | ||
27 | + * @property bool $transactionStatus | ||
28 | + * @method string getOwnerKey() | ||
29 | + * @method void setOwnerKey( string $value ) | ||
30 | + * @method string getLangKey() | ||
31 | + * @method void setLangKey( string $value ) | ||
32 | + * @method ActiveQuery getLangs() | ||
33 | + * @method ActiveQuery getLang( integer $language_id ) | ||
34 | + * @method PaymentLang[] generateLangs() | ||
35 | + * @method void loadLangs( Request $request ) | ||
36 | + * @method bool linkLangs() | ||
37 | + * @method bool saveLangs() | ||
38 | + * @method bool getTransactionStatus() | ||
39 | + * @method bool loadWithLangs( Request $request ) | ||
40 | + * @method bool saveWithLangs() | ||
41 | + * * End language behavior * | ||
42 | + * @see LanguageBehavior | ||
17 | */ | 43 | */ |
18 | class Payment extends \yii\db\ActiveRecord | 44 | class Payment extends \yii\db\ActiveRecord |
19 | { | 45 | { |
@@ -24,7 +50,19 @@ | @@ -24,7 +50,19 @@ | ||
24 | { | 50 | { |
25 | return 'payment'; | 51 | return 'payment'; |
26 | } | 52 | } |
27 | - | 53 | + |
54 | + /** | ||
55 | + * @inheritdoc | ||
56 | + */ | ||
57 | + public function behaviors() | ||
58 | + { | ||
59 | + return [ | ||
60 | + 'language' => [ | ||
61 | + 'class' => LanguageBehavior::className(), | ||
62 | + ], | ||
63 | + ]; | ||
64 | + } | ||
65 | + | ||
28 | /** | 66 | /** |
29 | * @inheritdoc | 67 | * @inheritdoc |
30 | */ | 68 | */ |
@@ -41,7 +79,7 @@ | @@ -41,7 +79,7 @@ | ||
41 | ], | 79 | ], |
42 | ]; | 80 | ]; |
43 | } | 81 | } |
44 | - | 82 | + |
45 | /** | 83 | /** |
46 | * @inheritdoc | 84 | * @inheritdoc |
47 | */ | 85 | */ |
@@ -53,7 +91,7 @@ | @@ -53,7 +91,7 @@ | ||
53 | 'status' => Yii::t('order', 'Status'), | 91 | 'status' => Yii::t('order', 'Status'), |
54 | ]; | 92 | ]; |
55 | } | 93 | } |
56 | - | 94 | + |
57 | /** | 95 | /** |
58 | * @return \yii\db\ActiveQuery | 96 | * @return \yii\db\ActiveQuery |
59 | */ | 97 | */ |
@@ -61,7 +99,7 @@ | @@ -61,7 +99,7 @@ | ||
61 | { | 99 | { |
62 | return $this->hasMany(Order::className(), [ 'payment_id' => 'id' ]); | 100 | return $this->hasMany(Order::className(), [ 'payment_id' => 'id' ]); |
63 | } | 101 | } |
64 | - | 102 | + |
65 | /** | 103 | /** |
66 | * @return \yii\db\ActiveQuery | 104 | * @return \yii\db\ActiveQuery |
67 | */ | 105 | */ |
@@ -69,7 +107,7 @@ | @@ -69,7 +107,7 @@ | ||
69 | { | 107 | { |
70 | return $this->hasMany(PaymentLang::className(), [ 'payment_id' => 'id' ]); | 108 | return $this->hasMany(PaymentLang::className(), [ 'payment_id' => 'id' ]); |
71 | } | 109 | } |
72 | - | 110 | + |
73 | /** | 111 | /** |
74 | * @return \yii\db\ActiveQuery | 112 | * @return \yii\db\ActiveQuery |
75 | */ | 113 | */ |
views/basket/cart.php
1 | <?php | 1 | <?php |
2 | - use yii\helpers\Url; | 2 | + use yii\bootstrap\Html; |
3 | use yii\web\View; | 3 | use yii\web\View; |
4 | 4 | ||
5 | /** | 5 | /** |
@@ -7,7 +7,21 @@ | @@ -7,7 +7,21 @@ | ||
7 | * @var int $count | 7 | * @var int $count |
8 | */ | 8 | */ |
9 | ?> | 9 | ?> |
10 | -<a href="<?php echo Url::to([ 'order/basket' ]); ?>" class="basket_"> | ||
11 | - <span class="ico_b_"><span><?php echo $count; ?></span></span> | ||
12 | - <p><span class="name_bas"><?= \Yii::t('app', 'basket') ?></span><span class="separator_bas"><i></i></span></p> | ||
13 | -</a> | 10 | +<span class="badge"><?= $count; ?></span> |
11 | +<?php | ||
12 | + echo Html::a( | ||
13 | + Html::tag( | ||
14 | + 'span', | ||
15 | + \Yii::t('app', 'ะะพัะทะธะฝะฐ'), | ||
16 | + [ | ||
17 | + 'class' => 'sub-title', | ||
18 | + ] | ||
19 | + ), | ||
20 | + [ | ||
21 | + '/basket/index', | ||
22 | + ], | ||
23 | + [ | ||
24 | + 'class' => 'cart-item-link', | ||
25 | + ] | ||
26 | + ); | ||
27 | +?> |
views/basket/modal_items.php
1 | <?php | 1 | <?php |
2 | use artbox\catalog\models\Variant; | 2 | use artbox\catalog\models\Variant; |
3 | use artbox\order\models\Basket; | 3 | use artbox\order\models\Basket; |
4 | - use yii\bootstrap\Html; | ||
5 | - use yii\helpers\Url; | ||
6 | use yii\web\View; | 4 | use yii\web\View; |
7 | - use yii\widgets\ActiveForm; | ||
8 | - | ||
9 | /** | 5 | /** |
10 | * @var View $this | 6 | * @var View $this |
11 | * @var Variant[] $models | 7 | * @var Variant[] $models |
12 | * @var Basket $basket | 8 | * @var Basket $basket |
13 | * @var array $data | 9 | * @var array $data |
14 | */ | 10 | */ |
15 | - $data = $basket->getData(); | ||
16 | -?> | ||
17 | -<div class="container"> | ||
18 | - <div class="row"> | ||
19 | - <div class="col-xs-12 col-sm-12"> | ||
20 | - <div class="style basket-modal-bg"> | ||
21 | - <span id="modal_close"></span> | ||
22 | - <div class="style model-name-test"> <?= \Yii::t('app', 'you_add') ?></div> | ||
23 | - <?php | ||
24 | - echo $this->render( | ||
25 | - '@frontend/views/basket/basket_table', | ||
26 | - [ | ||
27 | - 'models' => $models, | ||
28 | - 'basket' => $basket, | ||
29 | - 'data' => $data, | ||
30 | - ] | ||
31 | - ); | ||
32 | - ?> | ||
33 | - <div class="style"> | ||
34 | - <?php | ||
35 | - $form = ActiveForm::begin( | ||
36 | - [ | ||
37 | - 'id' => 'basket-modal-form', | ||
38 | - 'method' => 'POST', | ||
39 | - 'action' => Url::to([ 'order/basket' ]), | ||
40 | - ] | ||
41 | - ); | ||
42 | - echo Html::a( | ||
43 | - \Yii::t('app', 'ะพัะพัะผะธัั ะทะฐะบะฐะท'), | ||
44 | - [ | ||
45 | - 'order/basket', | ||
46 | - ], | ||
47 | - [ | ||
48 | - 'class' => 'btn_link_basket', | ||
49 | - ] | ||
50 | - ); | ||
51 | - ?> | ||
52 | - <span id="modal_close-2"><?= \Yii::t('app', 'cont_buy') ?></span> | ||
53 | - <?php | ||
54 | - $form::end(); | ||
55 | - ?> | ||
56 | - </div> | ||
57 | - </div> | ||
58 | - </div> | ||
59 | - </div> | ||
60 | -</div> |
web/js/artbox_basket.js
1 | -"use strict"; | ||
2 | -Object.defineProperty(exports, "__esModule", { value: true }); | ||
3 | -var $ = require("jquery"); | 1 | +///<reference path="node_modules/@types/jquery/index.d.ts" /> |
4 | var ArtboxBasket = (function () { | 2 | var ArtboxBasket = (function () { |
5 | function ArtboxBasket(settings) { | 3 | function ArtboxBasket(settings) { |
6 | if (settings === void 0) { settings = {}; } | 4 | if (settings === void 0) { settings = {}; } |
@@ -58,7 +56,7 @@ var ArtboxBasket = (function () { | @@ -58,7 +56,7 @@ var ArtboxBasket = (function () { | ||
58 | }.bind(this)); | 56 | }.bind(this)); |
59 | }; | 57 | }; |
60 | ArtboxBasket.prototype.add = function (variant_id, count) { | 58 | ArtboxBasket.prototype.add = function (variant_id, count) { |
61 | - $.post('/' + this.language + '/' + this._settings['url'] + '/add?variant_id=' + variant_id + '&count=' + count, function (data) { | 59 | + return $.post('/' + this.language + '/' + this._settings['url'] + '/add?variant_id=' + variant_id + '&count=' + count, function (data) { |
62 | this._items = data.basket; | 60 | this._items = data.basket; |
63 | this.updateModal(data.modal, data.cart, true); | 61 | this.updateModal(data.modal, data.cart, true); |
64 | }.bind(this), 'json').fail(function (xhr, status, error) { | 62 | }.bind(this), 'json').fail(function (xhr, status, error) { |
@@ -66,7 +64,7 @@ var ArtboxBasket = (function () { | @@ -66,7 +64,7 @@ var ArtboxBasket = (function () { | ||
66 | }); | 64 | }); |
67 | }; | 65 | }; |
68 | ArtboxBasket.prototype.set = function (variant_id, count) { | 66 | ArtboxBasket.prototype.set = function (variant_id, count) { |
69 | - $.post('/' + this.language + '/' + this._settings['url'] + '/set?variant_id=' + variant_id + '&count=' + count, function (data) { | 67 | + return $.post('/' + this.language + '/' + this._settings['url'] + '/set?variant_id=' + variant_id + '&count=' + count, function (data) { |
70 | this._items = data.basket; | 68 | this._items = data.basket; |
71 | this.updateModal(data.modal, data.cart, true); | 69 | this.updateModal(data.modal, data.cart, true); |
72 | }.bind(this), 'json').fail(function (xhr, status, error) { | 70 | }.bind(this), 'json').fail(function (xhr, status, error) { |
@@ -74,7 +72,7 @@ var ArtboxBasket = (function () { | @@ -74,7 +72,7 @@ var ArtboxBasket = (function () { | ||
74 | }); | 72 | }); |
75 | }; | 73 | }; |
76 | ArtboxBasket.prototype.remove = function (variant_id) { | 74 | ArtboxBasket.prototype.remove = function (variant_id) { |
77 | - $.post('/' + this.language + '/' + this._settings['url'] + '/remove?variant_id=' + variant_id, function (data) { | 75 | + return $.post('/' + this.language + '/' + this._settings['url'] + '/remove?variant_id=' + variant_id, function (data) { |
78 | this._items = data.basket; | 76 | this._items = data.basket; |
79 | this.updateModal(data.modal, data.cart, true); | 77 | this.updateModal(data.modal, data.cart, true); |
80 | }.bind(this), 'json').fail(function (xhr, status, error) { | 78 | }.bind(this), 'json').fail(function (xhr, status, error) { |
web/js/artbox_basket.ts
1 | -import * as $ from 'jquery'; | ||
2 | - | 1 | +///<reference path="node_modules/@types/jquery/index.d.ts" /> |
3 | class ArtboxBasket { | 2 | class ArtboxBasket { |
4 | private _items; | 3 | private _items; |
5 | private _language; | 4 | private _language; |
@@ -52,8 +51,8 @@ class ArtboxBasket { | @@ -52,8 +51,8 @@ class ArtboxBasket { | ||
52 | }.bind(this)); | 51 | }.bind(this)); |
53 | } | 52 | } |
54 | 53 | ||
55 | - public add(variant_id, count) { | ||
56 | - $.post('/' + this.language + '/' + this._settings['url'] + '/add?variant_id=' + variant_id + '&count=' + count, function (data) { | 54 | + public add(variant_id, count): JQueryPromise<JQueryXHR> { |
55 | + return $.post('/' + this.language + '/' + this._settings['url'] + '/add?variant_id=' + variant_id + '&count=' + count, function (data) { | ||
57 | this._items = data.basket; | 56 | this._items = data.basket; |
58 | this.updateModal(data.modal, data.cart, true); | 57 | this.updateModal(data.modal, data.cart, true); |
59 | }.bind(this), 'json').fail(function (xhr, status, error) { | 58 | }.bind(this), 'json').fail(function (xhr, status, error) { |
@@ -61,8 +60,8 @@ class ArtboxBasket { | @@ -61,8 +60,8 @@ class ArtboxBasket { | ||
61 | }); | 60 | }); |
62 | } | 61 | } |
63 | 62 | ||
64 | - public set(variant_id, count) { | ||
65 | - $.post('/' + this.language + '/' + this._settings['url'] + '/set?variant_id=' + variant_id + '&count=' + count, function (data) { | 63 | + public set(variant_id, count): JQueryPromise<JQueryXHR> { |
64 | + return $.post('/' + this.language + '/' + this._settings['url'] + '/set?variant_id=' + variant_id + '&count=' + count, function (data) { | ||
66 | this._items = data.basket; | 65 | this._items = data.basket; |
67 | this.updateModal(data.modal, data.cart, true); | 66 | this.updateModal(data.modal, data.cart, true); |
68 | }.bind(this), 'json').fail(function (xhr, status, error) { | 67 | }.bind(this), 'json').fail(function (xhr, status, error) { |
@@ -70,8 +69,8 @@ class ArtboxBasket { | @@ -70,8 +69,8 @@ class ArtboxBasket { | ||
70 | }); | 69 | }); |
71 | } | 70 | } |
72 | 71 | ||
73 | - public remove(variant_id) { | ||
74 | - $.post('/' + this.language + '/' + this._settings['url'] + '/remove?variant_id=' + variant_id, function (data) { | 72 | + public remove(variant_id): JQueryPromise<JQueryXHR> { |
73 | + return $.post('/' + this.language + '/' + this._settings['url'] + '/remove?variant_id=' + variant_id, function (data) { | ||
75 | this._items = data.basket; | 74 | this._items = data.basket; |
76 | this.updateModal(data.modal, data.cart, true); | 75 | this.updateModal(data.modal, data.cart, true); |
77 | }.bind(this), 'json').fail(function (xhr, status, error) { | 76 | }.bind(this), 'json').fail(function (xhr, status, error) { |