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) { |