@snabcentr/client-core 2.61.0 → 2.62.0
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.
- package/cart/dto/sc-cart-item.d.ts +1 -5
- package/cart/dto/sc-i-new-cart-item-base.d.ts +5 -1
- package/cart/internal/sc-i-cart-item-dto.d.ts +1 -5
- package/cart/services/sc-cart.service.d.ts +1 -1
- package/catalog/dto/sc-product.d.ts +4 -6
- package/catalog/internal/sc-i-product-dto.d.ts +4 -6
- package/esm2022/cart/dto/sc-cart-item.mjs +4 -5
- package/esm2022/cart/dto/sc-i-new-cart-item-base.mjs +1 -1
- package/esm2022/cart/internal/sc-i-cart-item-dto.mjs +1 -1
- package/esm2022/cart/services/sc-cart.service.mjs +7 -5
- package/esm2022/catalog/classes/sc-cached-item.mjs +3 -3
- package/esm2022/catalog/dto/sc-product.mjs +5 -6
- package/esm2022/catalog/internal/sc-i-product-dto.mjs +1 -1
- package/esm2022/helpers/sc-units-helper.mjs +3 -3
- package/esm2022/references/dto/index.mjs +2 -1
- package/esm2022/references/dto/sc-i-currency.mjs +1 -1
- package/esm2022/references/dto/sc-i-product-unit.mjs +2 -0
- package/fesm2022/snabcentr-client-core.mjs +17 -17
- package/fesm2022/snabcentr-client-core.mjs.map +1 -1
- package/package.json +1 -1
- package/references/dto/index.d.ts +1 -0
- package/references/dto/sc-i-currency.d.ts +8 -0
- package/references/dto/sc-i-product-unit.d.ts +29 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './sc-i-currency';
|
|
2
|
+
export * from './sc-i-product-unit';
|
|
2
3
|
export * from './sc-i-references-types';
|
|
3
4
|
export * from './sc-i-sales-direction';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3JlZmVyZW5jZXMvZHRvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjLWktY3VycmVuY3knO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1pLXByb2R1Y3QtdW5pdCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktcmVmZXJlbmNlcy10eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktc2FsZXMtZGlyZWN0aW9uJztcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1jdXJyZW5jeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvcmVmZXJlbmNlcy9kdG8vc2MtaS1jdXJyZW5jeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQlNCw0L3QvdGL0LUg0L4g0LLQsNC70Y7RgtC1LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSUN1cnJlbmN5IHtcbiAgICAvKipcbiAgICAgKiDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQstCw0LvRjtGC0Ysg0YLQvtCy0LDRgNCwINC40LvQuCDRg9GB0LvRg9Cz0LguXG4gICAgICovXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDRgtGD0YDQsCDQstCw0LvRjtGC0YsuXG4gICAgICovXG4gICAgc2lnbmF0dXJlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQptC40YTRgNC+0LLQvtC5INC60L7QtCDQstCw0LvRjtGC0Ysg0L/QviDRgdGC0LDQvdC00LDRgNGC0YMgSVNPIDQyMTcuXG4gICAgICovXG4gICAgY29kZT86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCd0LDQt9Cy0LDQvdC40LUg0LLQsNC70Y7RgtGLLlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCh0LjQvNCy0L7QuyDQstCw0LvRjtGC0YsuXG4gICAgICovXG4gICAgc3ltYm9sOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQotC+0YfQvdC+0YHRgtGMINC+0LrRgNGD0LPQu9C10L3QuNGPICjQutC+0LvQuNGH0LXRgdGC0LLQviDQt9C90LDQutC+0LIg0L/QvtGB0LvQtSDQt9Cw0L/Rj9GC0L7QuSkuXG4gICAgICovXG4gICAgcHJlY2lzaW9uPzogbnVtYmVyO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1wcm9kdWN0LXVuaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3JlZmVyZW5jZXMvZHRvL3NjLWktcHJvZHVjdC11bml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqINCU0LDQvdC90YvQtSDQtdC00LjQvdC40YbRiyDQuNC30LzQtdGA0LXQvdC40Y8g0L/RgNC+0LTRg9C60YLQsC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY0lQcm9kdWN0VW5pdCB7XG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LXQtNC40L3QuNGG0Ysg0LjQt9C80LXRgNC10L3QuNGPINC/0YDQvtC00YPQutGC0LAuXG4gICAgICovXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCh0LjQvNCy0L7Qu9GM0L3QvtC1INC+0LHQvtC30L3QsNGH0LXQvdC40LUgKHNsdWcpINC10LTQuNC90LjRhtGLINC40LfQvNC10YDQtdC90LjRjyDQv9GA0L7QtNGD0LrRgtCwLlxuICAgICAqL1xuICAgIHNsdWc6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCd0LDQt9Cy0LDQvdC40LUg0LXQtNC40L3QuNGG0Ysg0LjQt9C80LXRgNC10L3QuNGPINC/0YDQvtC00YPQutGC0LAuXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0J7Qv9C40YHQsNC90LjQtSDQtdC00LjQvdC40YbRiyDQuNC30LzQtdGA0LXQvdC40Y8g0L/RgNC+0LTRg9C60YLQsC5cbiAgICAgKi9cbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6INGC0L7Qs9C+LCDRh9GC0L4g0LXQtNC40L3QuNGG0LAg0LjQt9C80LXRgNC10L3QuNGPINGP0LLQu9GP0LXRgtGB0Y8g0LXQtNC40L3QuNGG0LXQuSDQuNC30LzQtdGA0LXQvdC40Y8g0L/Qu9C+0YnQsNC00LguXG4gICAgICovXG4gICAgaXNTcXVhcmU6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRgtC+0LPQviwg0YfRgtC+INC10LTQuNC90LjRhtCwINC40LfQvNC10YDQtdC90LjRjyDRj9Cy0LvRj9C10YLRgdGPINC70LjQvdC10LnQvdC+0Lkg0LLQtdC70LjRh9C40L3QvtC5LlxuICAgICAqL1xuICAgIGlzTGluZWFyOiBib29sZWFuO1xufVxuIl19
|
|
@@ -3,7 +3,7 @@ import { InjectionToken, inject, PLATFORM_ID, Injectable, Inject, Optional, LOCA
|
|
|
3
3
|
import { WA_LOCAL_STORAGE, WA_USER_AGENT, WA_WINDOW } from '@ng-web-apis/common';
|
|
4
4
|
import { filterByKey, toValue, WA_STORAGE_EVENT, StorageService } from '@ng-web-apis/storage';
|
|
5
5
|
import * as i1 from 'rxjs';
|
|
6
|
-
import { startWith, Subject, ReplaySubject, partition, combineLatest, map, debounceTime, switchMap, of, tap, filter, shareReplay, distinctUntilChanged, distinctUntilKeyChanged, skip, first, BehaviorSubject, expand, takeWhile, toArray, catchError, throwError, concatMap, finalize, takeUntil, interval, share, scan } from 'rxjs';
|
|
6
|
+
import { startWith, Subject, ReplaySubject, partition, combineLatest, map, debounceTime, switchMap, of, tap, filter, shareReplay, distinctUntilChanged, distinctUntilKeyChanged, skip, first, BehaviorSubject, materialize, dematerialize, expand, takeWhile, toArray, catchError, throwError, concatMap, finalize, takeUntil, interval, share, scan } from 'rxjs';
|
|
7
7
|
import { isPlatformBrowser, isPlatformServer, DOCUMENT, formatDate } from '@angular/common';
|
|
8
8
|
import { tuiCreateTokenFromFactory, tuiCreateToken, tuiIsPresent, TuiDay, tuiPure, TUI_TRUE_HANDLER } from '@taiga-ui/cdk';
|
|
9
9
|
import * as i1$1 from '@angular/common/http';
|
|
@@ -1458,7 +1458,6 @@ class ScProduct extends ScSeoResource {
|
|
|
1458
1458
|
this.currency = productDTO.currency;
|
|
1459
1459
|
this.code = productDTO.code;
|
|
1460
1460
|
this.unit = productDTO.unit;
|
|
1461
|
-
this.quantityUnit = productDTO.quantityUnit;
|
|
1462
1461
|
this.minCount = productDTO.minCount;
|
|
1463
1462
|
this.stockCount = productDTO.stockCount;
|
|
1464
1463
|
this.onOrder = productDTO.onOrder;
|
|
@@ -1481,25 +1480,25 @@ class ScProduct extends ScSeoResource {
|
|
|
1481
1480
|
* Стоимость товара или услуги с валютой и единицей измерения.
|
|
1482
1481
|
*/
|
|
1483
1482
|
get costString() {
|
|
1484
|
-
return this.cost ? `${this.cost.toLocaleString()} ${this.currency} / ${this.unit}` : '';
|
|
1483
|
+
return this.cost ? `${this.cost.toLocaleString()} ${this.currency.symbol} / ${this.unit.name}` : '';
|
|
1485
1484
|
}
|
|
1486
1485
|
/**
|
|
1487
1486
|
* Стоимость товара или услуги в рублях и с единицей измерения.
|
|
1488
1487
|
*/
|
|
1489
1488
|
get costRubString() {
|
|
1490
|
-
return this.costRub ? `${this.costRub.toLocaleString()} ₽ / ${this.unit}` : '';
|
|
1489
|
+
return this.costRub ? `${this.costRub.toLocaleString()} ₽ / ${this.unit.name}` : '';
|
|
1491
1490
|
}
|
|
1492
1491
|
/**
|
|
1493
1492
|
* Стоимость товара или услуги с валютой и единицей измерения до применения скидки.
|
|
1494
1493
|
*/
|
|
1495
1494
|
get discountCostString() {
|
|
1496
|
-
return this.discount?.oldCost ? `${this.discount.oldCost.toLocaleString()} ${this.currency} / ${this.unit}` : '';
|
|
1495
|
+
return this.discount?.oldCost ? `${this.discount.oldCost.toLocaleString()} ${this.currency.symbol} / ${this.unit.name}` : '';
|
|
1497
1496
|
}
|
|
1498
1497
|
/**
|
|
1499
1498
|
* Признак, что товар продаётся в рублях.
|
|
1500
1499
|
*/
|
|
1501
1500
|
get priceInRub() {
|
|
1502
|
-
return this.currency === '₽';
|
|
1501
|
+
return this.currency.symbol === '₽';
|
|
1503
1502
|
}
|
|
1504
1503
|
/**
|
|
1505
1504
|
* Возвращает первое изображение товара. Если изображений нет, то возвращает undefined.
|
|
@@ -1590,7 +1589,6 @@ class ScCartItem {
|
|
|
1590
1589
|
this.id = cartItemDTO.id;
|
|
1591
1590
|
this.product = new ScProduct(cartItemDTO.product);
|
|
1592
1591
|
this.quantity = cartItemDTO.quantity;
|
|
1593
|
-
this.currency = cartItemDTO.currency;
|
|
1594
1592
|
this.cost = cartItemDTO.cost;
|
|
1595
1593
|
this.costOne = cartItemDTO.costOne;
|
|
1596
1594
|
this.costRub = cartItemDTO.costRub;
|
|
@@ -1609,19 +1607,19 @@ class ScCartItem {
|
|
|
1609
1607
|
* Возвращает стоимость единицы товара (включая валюту). Если стоимость отсутствует, то вернёт '-'.
|
|
1610
1608
|
*/
|
|
1611
1609
|
getCostPerItem() {
|
|
1612
|
-
return this.costOne > 0 ? `${this.costOne.toLocaleString()} ${this.currency}` : '-';
|
|
1610
|
+
return this.costOne > 0 ? `${this.costOne.toLocaleString()} ${this.product.currency.symbol}` : '-';
|
|
1613
1611
|
}
|
|
1614
1612
|
/**
|
|
1615
1613
|
* Возвращает строковое представление стоимости единицы товара (включая единицу измерения) в валюте. Если стоимость отсутствует, то вернёт '-'.
|
|
1616
1614
|
*/
|
|
1617
1615
|
getCostInCurrencyDescPerItem() {
|
|
1618
|
-
return this.costOne > 0 ? `${this.costOne.toLocaleString()} ${this.currency} / ${this.product.
|
|
1616
|
+
return this.costOne > 0 ? `${this.costOne.toLocaleString()} ${this.product.currency.symbol} / ${this.product.unit.name}` : '-';
|
|
1619
1617
|
}
|
|
1620
1618
|
/**
|
|
1621
1619
|
* Возвращает строковое представление стоимости единицы товара (включая единицу измерения) в рублях. Если стоимость отсутствует, то вернёт '-'.
|
|
1622
1620
|
*/
|
|
1623
1621
|
getCostInRubDescPerItem() {
|
|
1624
|
-
return this.costOneRub > 0 ? `${this.costOneRub.toLocaleString()} ₽ / ${this.product.
|
|
1622
|
+
return this.costOneRub > 0 ? `${this.costOneRub.toLocaleString()} ₽ / ${this.product.unit.name}` : '-';
|
|
1625
1623
|
}
|
|
1626
1624
|
/**
|
|
1627
1625
|
* Возвращает стоимость товара в виде строки. Если стоимость отсутствует, то вернёт '-'.
|
|
@@ -2559,10 +2557,12 @@ class ScCartService {
|
|
|
2559
2557
|
*/
|
|
2560
2558
|
addToCart$(cartNewItem) {
|
|
2561
2559
|
return this.http.patch(`${this.urls.apiUrl}/cart`, cartNewItem).pipe(map((cartDTO) => new ScCart(cartDTO)), tap(() => {
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2560
|
+
if (cartNewItem.productId) {
|
|
2561
|
+
this.userMetrikaService.emitUserMetrikaEvent({
|
|
2562
|
+
target: ScUserMetrikaGoalsEnum.cartItemAdded,
|
|
2563
|
+
params: { product_id: cartNewItem.productId },
|
|
2564
|
+
});
|
|
2565
|
+
}
|
|
2566
2566
|
}), tap((cart) => {
|
|
2567
2567
|
this.cart$.next(cart);
|
|
2568
2568
|
}));
|
|
@@ -2785,7 +2785,7 @@ class ScCachedItem {
|
|
|
2785
2785
|
this.update$ = new BehaviorSubject(undefined);
|
|
2786
2786
|
this.item$ = this.update$.pipe(switchMap(() => item$.pipe(tap(() => {
|
|
2787
2787
|
this.cachedUntil = Date.now() + lifeTime;
|
|
2788
|
-
}), startWith(null))), shareReplay(1));
|
|
2788
|
+
}), startWith(null))), materialize(), shareReplay(1), dematerialize());
|
|
2789
2789
|
}
|
|
2790
2790
|
/**
|
|
2791
2791
|
* Возвращает признак того, что кэшированные данные актуальны.
|
|
@@ -4912,7 +4912,7 @@ class ScUnitsHelper {
|
|
|
4912
4912
|
* @param product Товар для которого нужно проверить возможность продажи на метраж.
|
|
4913
4913
|
*/
|
|
4914
4914
|
productIsMeasurable(product) {
|
|
4915
|
-
return this.linearValues.includes(product.unit);
|
|
4915
|
+
return this.linearValues.includes(product.unit.name);
|
|
4916
4916
|
}
|
|
4917
4917
|
/**
|
|
4918
4918
|
* Возвращает кратность количества для товара.
|
|
@@ -4920,7 +4920,7 @@ class ScUnitsHelper {
|
|
|
4920
4920
|
* @param product Товар для которого нужно вернуть кратность количества.
|
|
4921
4921
|
*/
|
|
4922
4922
|
productMultiplicity(product) {
|
|
4923
|
-
return product.minCount && !this.linearValues.includes(product.unit) ? product.minCount : 1;
|
|
4923
|
+
return product.minCount && !this.linearValues.includes(product.unit.name) ? product.minCount : 1;
|
|
4924
4924
|
}
|
|
4925
4925
|
/**
|
|
4926
4926
|
* Возвращает значение кратности, для проверки кратности количества товара.
|