@subiz/widget-v4 4.1.86 → 4.1.87

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/compiled_src/chatbox/Widget.js +1 -1
  2. package/compiled_src/store/store.js +1 -1
  3. package/dist/127.js +273 -0
  4. package/dist/132.js +2796 -0
  5. package/dist/185.js +1885 -0
  6. package/dist/190815938a3.127.js +1 -0
  7. package/dist/190815938a3.132.js +1 -0
  8. package/dist/190815938a3.185.js +1 -0
  9. package/dist/190815938a3.27.js +1 -0
  10. package/dist/190815938a3.278.js +1 -0
  11. package/dist/190815938a3.459.js +1 -0
  12. package/dist/190815938a3.490.js +1 -0
  13. package/dist/190815938a3.74.js +1 -0
  14. package/dist/190815938a3.997.js +1 -0
  15. package/dist/190815938a3.app.js +1 -0
  16. package/dist/190815938a3.index.html +33 -0
  17. package/dist/190815938a3.library.html +33 -0
  18. package/dist/190815938a3.library.js +1 -0
  19. package/dist/190815938a3.preview.html +759 -0
  20. package/dist/190815938a3.preview.js +1 -0
  21. package/dist/190815938a3.screenshoot.js +1 -0
  22. package/dist/190815938a3.webview.js +1 -0
  23. package/dist/27.js +107 -0
  24. package/dist/278.js +406 -0
  25. package/dist/459.js +107 -0
  26. package/dist/490.js +305 -0
  27. package/dist/74.js +372 -0
  28. package/dist/997.js +107 -0
  29. package/dist/HASH +1 -0
  30. package/dist/assets/img/Facebook.64607ec.png +0 -0
  31. package/dist/assets/img/Zalo.6845707.png +0 -0
  32. package/dist/assets/img/award1a.1a58e10.png +0 -0
  33. package/dist/assets/img/award3a.3b74423.png +0 -0
  34. package/dist/assets/img/award4a.ed6ccd4.png +0 -0
  35. package/dist/assets/img/award5.39eb7ae.png +0 -0
  36. package/dist/assets/img/bubble_default.7d5e4ab.svg +20 -0
  37. package/dist/assets/img/caret.998eb8f.svg +1 -0
  38. package/dist/assets/img/convos_empty.2353007.svg +72 -0
  39. package/dist/assets/img/default.06e6ee0.jpg +0 -0
  40. package/dist/assets/img/default_avatar.5b74dc1.png +0 -0
  41. package/dist/assets/img/done_gray.d7e8203.svg +4 -0
  42. package/dist/assets/img/done_green.b817fd4.svg +4 -0
  43. package/dist/assets/img/emoji/messenger/sub_23.529_58.824.d5faf14.png +0 -0
  44. package/dist/assets/img/emoji/messenger/sub_23.529_60.784.1420241.png +0 -0
  45. package/dist/assets/img/emoji/messenger/sub_25.490_0.000.1e6b2c0.png +0 -0
  46. package/dist/assets/img/emoji/messenger/sub_25.490_45.098.3dfbc08.png +0 -0
  47. package/dist/assets/img/emoji/messenger/sub_25.490_5.882.4b49e94.png +0 -0
  48. package/dist/assets/img/emoji/messenger/sub_27.451_72.549.7114f58.png +0 -0
  49. package/dist/assets/img/emoji/messenger/sub_27.451_84.314.231e2b7.png +0 -0
  50. package/dist/assets/img/emoji/messenger/sub_27.451_96.078.ddbb008.png +0 -0
  51. package/dist/assets/img/emoji/messenger/sub_29.412_5.882.61f3359.png +0 -0
  52. package/dist/assets/img/emoji/messenger/sub_58.824_100.000.6df72bc.png +0 -0
  53. package/dist/assets/img/emoji/messenger/sub_58.824_45.098.3d7a7ad.png +0 -0
  54. package/dist/assets/img/emoji/messenger/sub_58.824_47.059.0f4d6e2.png +0 -0
  55. package/dist/assets/img/emoji/messenger/sub_58.824_54.902.65724c1.png +0 -0
  56. package/dist/assets/img/emoji/messenger/sub_58.824_64.706.9da3cba.png +0 -0
  57. package/dist/assets/img/emoji/messenger/sub_58.824_72.549.edca5cf.png +0 -0
  58. package/dist/assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png +0 -0
  59. package/dist/assets/img/emoji/messenger/sub_58.824_88.235.def4e71.png +0 -0
  60. package/dist/assets/img/emoji/messenger/sub_60.784_11.765.49c03d0.png +0 -0
  61. package/dist/assets/img/emoji/messenger/sub_60.784_27.451.46b54e5.png +0 -0
  62. package/dist/assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png +0 -0
  63. package/dist/assets/img/emoji/messenger/sub_60.784_3.922.bb191b0.png +0 -0
  64. package/dist/assets/img/emoji/messenger/sub_60.784_35.294.af7b927.png +0 -0
  65. package/dist/assets/img/emoji/messenger/sub_60.784_7.843.98f2a99.png +0 -0
  66. package/dist/assets/img/empty.29bed2d.svg +23 -0
  67. package/dist/assets/img/empty_1.0b98af0.svg +11 -0
  68. package/dist/assets/img/examplte_logo.f86535f.svg +1 -0
  69. package/dist/assets/img/external-link.90577cc.svg +1 -0
  70. package/dist/assets/img/fb_inverse_circle.36c2cfc.png +0 -0
  71. package/dist/assets/img/ghn.070f8e3.svg +17 -0
  72. package/dist/assets/img/ghtk.326eac1.svg +18 -0
  73. package/dist/assets/img/image_default.be0698b.png +0 -0
  74. package/dist/assets/img/info.ebce7ea.svg +1 -0
  75. package/dist/assets/img/loader.37000a7.svg +1 -0
  76. package/dist/assets/img/loading_static.a27f0ac.svg +10 -0
  77. package/dist/assets/img/main-service1.d536cc2.png +0 -0
  78. package/dist/assets/img/main-service2.9b99549.png +0 -0
  79. package/dist/assets/img/not_found_search.2ddb8d1.png +0 -0
  80. package/dist/assets/img/package.8d37d0f.svg +5 -0
  81. package/dist/assets/img/package_fade.763c001.svg +1 -0
  82. package/dist/assets/img/rating--average.1ea492c.svg +12 -0
  83. package/dist/assets/img/rating--great.e3d712e.svg +16 -0
  84. package/dist/assets/img/rating--poor.2938a25.svg +12 -0
  85. package/dist/assets/img/search.f9705ff.svg +1 -0
  86. package/dist/assets/img/send.6db52a9.svg +3 -0
  87. package/dist/assets/img/shop.f7dc7d8.svg +1 -0
  88. package/dist/assets/img/shop_faded.df7845a.svg +1 -0
  89. package/dist/assets/img/subiz-mono.877e9f5.svg +3 -0
  90. package/dist/assets/img/x.26fdfa3.svg +5 -0
  91. package/dist/malicious-app.js +15 -0
  92. package/dist/screenshoot.html +7 -0
  93. package/dist/screenshoot.js +10630 -0
  94. package/package.json +1 -1
  95. package/preview.js +148 -143
  96. package/screenshoot.js +2 -2
  97. package/src/chatbox/Widget.js +1 -1
  98. package/src/store/store.js +1 -1
@@ -29,7 +29,7 @@ var checkedimg = require('../../assets/img/done_gray.svg');
29
29
  var empty = require('../../assets/img/empty.svg');
30
30
  let Order = false;
31
31
  const LoadOrder = () => Promise.resolve().then(() => _interopRequireWildcard(require('./Order.js')));
32
- const defaultAvatar = 'https://file-subiz.com/fiqoahedjbgwclpouoml-avatar_default_baa8a1d7.png';
32
+ const defaultAvatar = 'https://vcdn.subiz-cdn.com/file/fiqoahedjbgwclpouoml-avatar_default_baa8a1d7.png';
33
33
  class Widget extends _common.Com {
34
34
  constructor(props) {
35
35
  super(props);
@@ -566,7 +566,7 @@ class Store {
566
566
  setting = _index.default.cloneDeep(setting) || {};
567
567
  setting.account = Object.assign({}, setting.account, this.forceAcc);
568
568
  if (!setting.account.logo_url) {
569
- setting.account.logo_url = 'https://file-subiz.com/fiqpezhkmeyesdscyetk-default_logo.jpg';
569
+ setting.account.logo_url = 'https://vcdn.subiz-cdn.com/file/fiqpezhkmeyesdscyetk-default_logo.jpg';
570
570
  }
571
571
  if (setting.user) {
572
572
  setting.user.account_id = setting.account.id;
package/dist/127.js ADDED
@@ -0,0 +1,273 @@
1
+ "use strict";
2
+ (self["webpackChunk_subiz_widget_v4"] = self["webpackChunk_subiz_widget_v4"] || []).push([[127],{
3
+
4
+ /***/ 6127:
5
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
+
7
+ __webpack_require__.r(__webpack_exports__);
8
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9
+ /* harmony export */ "default": () => (/* binding */ ProductAttachments)
10
+ /* harmony export */ });
11
+ /* harmony import */ var _util_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8150);
12
+ /* harmony import */ var _common_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2840);
13
+ /* harmony import */ var preact__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(172);
14
+
15
+
16
+
17
+ class ProductAttachments extends _common_js__WEBPACK_IMPORTED_MODULE_1__/* .Com */ .Mw {
18
+ render() {
19
+ let byType = _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.get(this.props.ev, 'by.type');
20
+ if (byType === 'user') return null;
21
+ let acc = this.props.store.matchAccount();
22
+ var attachments = _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.get(this.props.ev, 'data.message.attachments', []);
23
+ let orders = _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.filter(attachments, att => att.type === 'order' && att.order).map(att => att.order);
24
+ if (orders.length === 0) return null;
25
+ let $orders = _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.map(orders, (order, index) => {
26
+ calcOrderTotal(order);
27
+ let $note = null;
28
+ if (order.note) {
29
+ $note = (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", null, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
30
+ class: "order_attachment__label"
31
+ }, this.props.t('note')), (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
32
+ class: "order_attachment__note",
33
+ title: order.note
34
+ }, order.note));
35
+ }
36
+ let $products = null;
37
+ if (_util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.size(order.items) > 0) {
38
+ $products = (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", null, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
39
+ class: "order_attachment__label"
40
+ }, this.props.t('product')), _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.map(order.items, item => {
41
+ let product = item.product || {};
42
+ return (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
43
+ class: "order_attachment__product"
44
+ }, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("img", {
45
+ class: "order_attachment__product_img",
46
+ alt: '' + _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.get(product, 'id'),
47
+ src: _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.get(product, 'image', __webpack_require__(2876))
48
+ }), (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
49
+ style: "overflow: hidden !important;"
50
+ }, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
51
+ class: "order_attachment__product_name",
52
+ title: this.props.t.i18n(product.i18n_name) || product.name
53
+ }, this.props.t.i18n(product.i18n_name) || product.name), (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
54
+ class: "order_attachment__product_desc"
55
+ }, getProductPropName(product, ' / ')), (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
56
+ class: "order_attachment__product_desc"
57
+ }, this.props.t('qty'), " ", item.quantity, "\xA0\xB7\xA0", _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formatCurrency(product.price))));
58
+ }));
59
+ }
60
+ let $total = (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
61
+ class: "order_attachment__footer"
62
+ }, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
63
+ class: "d-flex align-items-center justify-content-between"
64
+ }, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", null, this.props.t('total')), ' ', (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", null, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("b", {
65
+ class: "order_attachment__total"
66
+ }, _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formatCurrency(order.total)))));
67
+ let phoneattr = _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.find(_util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.get(order, 'user.attributes', []), attr => attr.key === 'phones') || {
68
+ key: 'phones',
69
+ text: ''
70
+ };
71
+ let phone = _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.get(order, 'shipping.address.phone', '').trim();
72
+ phone = phone || _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.trim(phoneattr.text);
73
+ if (phone) phone = this.props.t('phn') + ': ' + phone;
74
+ let $shipto = null;
75
+ if (displayOrderShippingAddress(order) || phone) {
76
+ $shipto = (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", null, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
77
+ class: "order_attachment__label"
78
+ }, this.props.t('ship_to')), (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", null, displayOrderShippingAddress(order)), (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
79
+ class: "order_attachment__text_truncate"
80
+ }, phone));
81
+ }
82
+ let $beforeTax = null;
83
+ if (order._discount_before_tax) {
84
+ $beforeTax = (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
85
+ class: "order_attachment__footer"
86
+ }, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
87
+ class: "d-flex align-items-center justify-content-between"
88
+ }, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
89
+ class: "order_attachment__label no_margin"
90
+ }, this.props.t('subtotal_before_tax')), ' ', (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", null, _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formatCurrency(order._order_value))), (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
91
+ class: "d-flex align-items-center justify-content-between"
92
+ }, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
93
+ class: "order_attachment__label no_margin"
94
+ }, this.props.t('discount_before_tax')), ' ', (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", null, "-", _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formatCurrency(order._discount_before_tax))));
95
+ }
96
+ let $subtotal = (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
97
+ class: "d-flex align-items-center justify-content-between"
98
+ }, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
99
+ class: "order_attachment__label no_margin"
100
+ }, this.props.t('subtotal')), ' ', (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
101
+ style: ""
102
+ }, _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formatCurrency(order.subtotal)));
103
+ let $tax = null;
104
+ if (order.total_tax) {
105
+ let taxname = '';
106
+ if (_util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.size(order._taxM) === 1) {
107
+ let tax = _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.get(order._taxM, '0.tax', {});
108
+ if (tax.name && tax.percentage) taxname = `(${tax.name} ${Math.round(tax.percentage || 0) / 100}%)`;
109
+ }
110
+ $tax = (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
111
+ class: "d-flex align-items-center justify-content-between"
112
+ }, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
113
+ class: "order_attachment__label no_margin"
114
+ }, this.props.t('tax'), " ", taxname), (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
115
+ style: ""
116
+ }, _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formatCurrency(order.total_tax)));
117
+ }
118
+ let $discount = null;
119
+ if (order.discount_type === 'percentage' && order.discount_percentage) {
120
+ $discount = (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
121
+ class: "d-flex align-items-center justify-content-between"
122
+ }, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
123
+ class: "order_attachment__label no_margin"
124
+ }, this.props.t('discount_after_tax'), " (", Math.round(order.discount_percentage / 100), "%)"), ' ', (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
125
+ style: ""
126
+ }, "-", _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formatCurrency(order._computed_discount)));
127
+ }
128
+ if (order.discount_type === 'amount' && order.discount_amount) {
129
+ $discount = (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
130
+ class: "d-flex align-items-center justify-content-between"
131
+ }, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
132
+ class: "order_attachment__label no_margin"
133
+ }, this.props.t('discount_after_tax')), ' ', (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
134
+ class: "no-shrink"
135
+ }, "-", _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formatCurrency(order._computed_discount)));
136
+ }
137
+ let $shipping = null;
138
+ if (_util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.get(order, 'shipping.nominal_fee')) {
139
+ $shipping = (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
140
+ class: "d-flex align-items-center justify-content-between"
141
+ }, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
142
+ class: "order_attachment__label no_margin"
143
+ }, this.props.t('shipping_fee')), ' ', (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
144
+ style: ""
145
+ }, _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formatCurrency(_util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.get(order, 'shipping.nominal_fee', 0))));
146
+ }
147
+ let $adjustment = null;
148
+ if (order.adjustment) {
149
+ $adjustment = (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
150
+ class: "d-flex align-items-center justify-content-between"
151
+ }, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
152
+ class: "order_attachment__label no_margin"
153
+ }, order.adjustment_description), ' ', (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
154
+ class: "no-shrink"
155
+ }, _util_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formatCurrency(order.adjustment)));
156
+ }
157
+ $subtotal = (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
158
+ class: "order_attachment__footer"
159
+ }, $subtotal, $tax, $shipping, $discount, $adjustment);
160
+ if (!$shipping && !$adjustment && !$discount && !$tax) {
161
+ $subtotal = null;
162
+ }
163
+ return (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
164
+ class: `order_attachment order_attachment__${byType}`
165
+ }, (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("div", {
166
+ class: "order_attachment__header"
167
+ }, this.props.t('order'), (0,preact__WEBPACK_IMPORTED_MODULE_2__.h)("span", {
168
+ class: "order_attachment__text_muted order_attachment__text_sm"
169
+ }, getOrderDisplayName(order))), $products, $shipto, $note, $beforeTax, $subtotal, $total);
170
+ });
171
+ return $orders;
172
+ }
173
+ }
174
+ function getProductPropName(product, seperator = ' - ') {
175
+ let options = op.get(product, 'options', []);
176
+ let props = op.get(product, 'props', []);
177
+ let multiPropsOptions = op.filter(options, option => op.size(option.values) > 1);
178
+ let names = [];
179
+ op.each(multiPropsOptions, option => {
180
+ let prop = op.find(props, prop => prop.key === option.key) || {};
181
+ if (prop.value) names.push(prop.value);
182
+ });
183
+ return names.join(seperator);
184
+ }
185
+ function getOrderDisplayName(order = {}) {
186
+ return order.number || order.id || '';
187
+ }
188
+ function displayOrderShippingAddress(order, isShorten) {
189
+ let addr = op.get(order, 'shipping.address', {});
190
+ let fulladdr = [addr.address, addr.ward, addr.district, addr.province].filter(a => a).join(', ').trim();
191
+ if (isShorten) fulladdr = shortenAddr(fulladdr);
192
+ return fulladdr;
193
+ }
194
+ function shortenAddr(str) {
195
+ str = str || '';
196
+ str = str.replace(/Hà Nội/gi, 'HN');
197
+ str = str.replace(/Hồ Chí Minh/gi, 'HCM');
198
+ str = str.replace(/Thành Phố/gi, 'TP');
199
+ return str;
200
+ }
201
+ function calcOrderTotal(order) {
202
+ let subtotal = 0;
203
+ let beforeTaxDiscount = 0;
204
+ let ordervalue = 0;
205
+ op.map(order.items, item => {
206
+ if (!item.product) return 0;
207
+ let price = op.get(item, 'product.price', 0) * (item.quantity || 0);
208
+ ordervalue += price;
209
+ if (item.discount_type == 'percentage') {
210
+ if (item.discount_percentage > 0) {
211
+ beforeTaxDiscount += price * item.discount_percentage / 10000;
212
+ price = price * (1 - (item.discount_percentage || 0) / 10000);
213
+ }
214
+ } else if (item.discount_type == 'amount') {
215
+ if (item.discount_amount > 0) {
216
+ beforeTaxDiscount += item.discount_amount;
217
+ price = price - (item.discount_amount || 0);
218
+ if (price <= 0) price = 0;
219
+ }
220
+ }
221
+ item.total = price;
222
+ subtotal += price;
223
+ });
224
+ let taxM = {};
225
+ op.map(order.items, (item, i) => {
226
+ if (!item.product) return;
227
+ let tax = item.product.tax;
228
+ if (!tax) return;
229
+ if (!tax.id) return;
230
+ let taxprice = item.total * tax.percentage / 10000;
231
+ item.total_tax = taxprice;
232
+ taxM[i] = {
233
+ tax: tax,
234
+ taxprice: taxprice
235
+ };
236
+ });
237
+ let totaltax = 0;
238
+ op.map(taxM, t => totaltax += t.taxprice);
239
+ let computed_discount = 0;
240
+ if (order.discount_type == 'percentage' && order.discount_percentage > 0) {
241
+ computed_discount = (subtotal + totaltax) * order.discount_percentage / 10000;
242
+ } else if (order.discount_type == 'amount') {
243
+ computed_discount = order.discount_amount || 0;
244
+ }
245
+ let shippingfee = op.get(order, 'shipping.nominal_fee', 0);
246
+ if (shippingfee > 0) {
247
+ if (op.get(order, 'shipping.tax.id')) {
248
+ let tax = order.shipping.tax;
249
+ let taxprice = shippingfee * (tax.percentage / 10000);
250
+ taxM['ship'] = {
251
+ tax: tax,
252
+ taxprice: taxprice
253
+ };
254
+ order.shipping.total_tax = taxprice;
255
+ }
256
+ }
257
+ totaltax = 0;
258
+ op.map(taxM, t => totaltax += t.taxprice);
259
+ let total = subtotal + totaltax - computed_discount + shippingfee;
260
+ total += order.adjustment || 0;
261
+ if (total < 0) total = 0;
262
+ order.subtotal = subtotal;
263
+ order._computed_discount = computed_discount;
264
+ order._taxM = taxM;
265
+ order.total = total;
266
+ order.total_tax = totaltax;
267
+ order._discount_before_tax = beforeTaxDiscount;
268
+ order._order_value = ordervalue;
269
+ }
270
+
271
+ /***/ })
272
+
273
+ }]);