@snabcentr/client-core 2.45.0 → 2.45.1
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.
|
@@ -52,6 +52,9 @@ export class ScCartService {
|
|
|
52
52
|
this.cart$.next(cart);
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
|
+
else {
|
|
56
|
+
this.cart$.next(new ScCart());
|
|
57
|
+
}
|
|
55
58
|
this.cartDirections$ = referencesService.directions$.pipe(switchMap((directions) => this.cart$.pipe(switchMap((cart) => this.warehouseService.getWarehouseSelectChange$().pipe(map((warehouse) => directions
|
|
56
59
|
.map((direction) => new ScISalesDirectionCart(direction, cart.items.filter((cartItem) => cartItem.salesDirection === direction.id), cart.directionsSum[direction.id], warehouse.id))
|
|
57
60
|
.filter((direction) => direction.items.length > 0 || direction.itemsOnOrder.length > 0 || direction.itemsNotInWarehouseStock.length > 0)))))));
|
|
@@ -184,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
184
187
|
type: Inject,
|
|
185
188
|
args: [SC_URLS]
|
|
186
189
|
}] }, { type: i2.ScReferencesService }, { type: i3.ScUIService }, { type: i4.ScWarehouseService }, { type: i5.ScAuthService }, { type: i6.ScUserMetrikaService }] });
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2FydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jYXJ0L3NlcnZpY2VzL3NjLWNhcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLEdBQUcsRUFBYyxhQUFhLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQU10RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRzdGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7O0FBR3pFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFnQnRCOzs7Ozs7Ozs7O09BVUc7SUFDSCxZQUNxQixJQUFnQixFQUNDLElBQWEsRUFDOUIsaUJBQXNDLEVBQ3RDLFNBQXNCLEVBQ3RCLGdCQUFvQyxFQUNwQyxXQUEwQixFQUMxQixrQkFBd0M7UUFOeEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNDLFNBQUksR0FBSixJQUFJLENBQVM7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFxQjtRQUN0QyxjQUFTLEdBQVQsU0FBUyxDQUFhO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFDMUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFzQjtR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QTZCVixPQUFPO21IQTdCVixhQUFhLGNBRlYsTUFBTTs7NEZBRVQsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQThCUSxNQUFNOzJCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2F1dGgvc2VydmljZXMvc2MtYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFNjSVVybHMgfSBmcm9tICcuLi8uLi9jb25maWcvc2MtaS11cmxzJztcbmltcG9ydCB7IFNjVXBsb2FkZWRGaWxlIH0gZnJvbSAnLi4vLi4vY29udGFjdHMvZHRvL3NjLXVwbG9hZGVkLWZpbGUnO1xuaW1wb3J0IHsgU2NPcmRlciB9IGZyb20gJy4uLy4uL29yZGVyL2R0by9zYy1vcmRlcic7XG5pbXBvcnQgeyBJU19CUk9XU0VSIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3Nzci5wcm92aWRlcnMnO1xuaW1wb3J0IHsgU2NSZWZlcmVuY2VzU2VydmljZSB9IGZyb20gJy4uLy4uL3JlZmVyZW5jZXMvc2VydmljZXMvc2MtcmVmZXJlbmNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFNDX1VSTFMgfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtdXJscyc7XG5pbXBvcnQgeyBTY1VJU2VydmljZSB9IGZyb20gJy4uLy4uL3VpL3NlcnZpY2VzL3NjLXVpLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NVc2VyTWV0cmlrYUdvYWxzRW51bSB9IGZyb20gJy4uLy4uL3VzZXItbWV0cmlrYS9lbnVtcy9zYy11c2VyLW1ldHJpa2EtZ29hbHMtZW51bSc7XG5pbXBvcnQgeyBTY1VzZXJNZXRyaWthU2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItbWV0cmlrYS9zZXJ2aWNlcy9zYy11c2VyLW1ldHJpa2Euc2VydmljZSc7XG5pbXBvcnQgeyBTY1dhcmVob3VzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi93YXJlaG91c2UnO1xuaW1wb3J0IHsgU2NTdW0gfSBmcm9tICcuLi9jbGFzc2VzL3NjLXN1bSc7XG5pbXBvcnQgeyBTY0NhcnQgfSBmcm9tICcuLi9kdG8vc2MtY2FydCc7XG5pbXBvcnQgeyBTY0NhcnRJdGVtIH0gZnJvbSAnLi4vZHRvL3NjLWNhcnQtaXRlbSc7XG5pbXBvcnQgeyBTY0lOZXdDYXJ0SXRlbUJhc2UgfSBmcm9tICcuLi9kdG8vc2MtaS1uZXctY2FydC1pdGVtLWJhc2UnO1xuaW1wb3J0IHsgU2NJU2FsZXNEaXJlY3Rpb25DYXJ0IH0gZnJvbSAnLi4vZHRvL3NjLWktc2FsZXMtZGlyZWN0aW9uLWNhcnQnO1xuaW1wb3J0IHsgU2NJQ2FydERUTyB9IGZyb20gJy4uL2ludGVybmFsL3NjLWktY2FydC1kdG8nO1xuXG4vKipcbiAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC60L7RgNC30LjQvdC+0LkuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNjQ2FydFNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIHtAbGluayBSZXBsYXlTdWJqZWN0fSDQtNC70Y8g0YHQvtC00LXRgNC20LjQvNC+0LPQviDQutC+0YDQt9C40L3Riy5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNhcnQkOiBSZXBsYXlTdWJqZWN0PFNjQ2FydD4gPSBuZXcgUmVwbGF5U3ViamVjdDxTY0NhcnQ+KDEpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQvtGA0LfQuNC90Ysg0L/QviDQvdCw0L/RgNCw0LLQu9C10L3QuNGP0Lwg0L/RgNC+0LTQsNC2LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FydERpcmVjdGlvbnMkOiBPYnNlcnZhYmxlPFNjSVNhbGVzRGlyZWN0aW9uQ2FydFtdPjtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0YHQutGA0LjQv9GCINCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0LIg0LHRgNCw0YPQt9C10YDQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzQnJvd3NlcjogYm9vbGVhbiA9IGluamVjdChJU19CUk9XU0VSKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NDYXJ0U2VydmljZX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaHR0cCDQodC10YDQstC40YEg0LTQu9GPINCy0YvQv9C+0LvQvdC10L3QuNGPIEhUVFAt0LfQsNC/0YDQvtGB0L7Qsi5cbiAgICAgKiBAcGFyYW0gdXJscyDQodC/0LjRgdC+0Log0YHRgdGL0LvQvtC6INC90LAg0YDQsNC30LTQtdC70YsgYmFja2VuZCdhLlxuICAgICAqIEBwYXJhbSByZWZlcmVuY2VzU2VydmljZSDQodC10YDQstC40YEg0YHQv9GA0LDQstC+0YfQvdC40LrQvtCyLlxuICAgICAqIEBwYXJhbSB1aVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEgVUkuXG4gICAgICogQHBhcmFtIHdhcmVob3VzZVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YHQviDRgdC60LvQsNC00LDQvNC4LlxuICAgICAqIEBwYXJhbSBhdXRoU2VydmljZSDQodC10YDQstC40YEg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKiBAcGFyYW0gdXNlck1ldHJpa2FTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YHQsdC+0YDQsCDQvNC10YLRgNC40Log0L4g0LTQtdC50YHRgtCy0LjRj9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBASW5qZWN0KFNDX1VSTFMpIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZWZlcmVuY2VzU2VydmljZTogU2NSZWZlcmVuY2VzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1aVNlcnZpY2U6IFNjVUlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHdhcmVob3VzZVNlcnZpY2U6IFNjV2FyZWhvdXNlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogU2NBdXRoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1c2VyTWV0cmlrYVNlcnZpY2U6IFNjVXNlck1ldHJpa2FTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgYXV0aFNlcnZpY2VcbiAgICAgICAgICAgICAgICAuZ2V0QXV0aENoYW5nZSgpXG4gICAgICAgICAgICAgICAgLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMudXBkYXRlQ2FydCQoKSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoY2FydCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhcnQkLm5leHQoY2FydCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNhcnREaXJlY3Rpb25zJCA9IHJlZmVyZW5jZXNTZXJ2aWNlLmRpcmVjdGlvbnMkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGRpcmVjdGlvbnMpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJ0JC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGNhcnQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndhcmVob3VzZVNlcnZpY2UuZ2V0V2FyZWhvdXNlU2VsZWN0Q2hhbmdlJCgpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKCh3YXJlaG91c2UpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRpcmVjdGlvbikgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFNjSVNhbGVzRGlyZWN0aW9uQ2FydChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhcnQuaXRlbXMuZmlsdGVyKChjYXJ0SXRlbSkgPT4gY2FydEl0ZW0uc2FsZXNEaXJlY3Rpb24gPT09IGRpcmVjdGlvbi5pZCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXJ0LmRpcmVjdGlvbnNTdW1bZGlyZWN0aW9uLmlkXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcmVob3VzZS5pZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKChkaXJlY3Rpb24pID0+IGRpcmVjdGlvbi5pdGVtcy5sZW5ndGggPiAwIHx8IGRpcmVjdGlvbi5pdGVtc09uT3JkZXIubGVuZ3RoID4gMCB8fCBkaXJlY3Rpb24uaXRlbXNOb3RJbldhcmVob3VzZVN0b2NrLmxlbmd0aCA+IDApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+INC60L7RgNC30LjQvdGLLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXJ0Q2hhbmdlJCgpOiBPYnNlcnZhYmxlPFNjQ2FydD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXJ0JC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0L/QvtC70YPRh9C10L3QuNGPINGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQvtGA0LfQuNC90Ysg0Lgg0L7QsdC90L7QstC70Y/QtdGCINC60L7RgNC30LjQvdGDLCDQstC+0LfQstGA0LDRidCw0Y8ge0BsaW5rIE9ic2VydmFibGV9INGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQvtGA0LfQuNC90YsuXG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZUNhcnQkKCk6IE9ic2VydmFibGU8U2NDYXJ0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNjSUNhcnREVE8+KGAke3RoaXMudXJscy5hcGlVcmx9L2NhcnRgKS5waXBlKFxuICAgICAgICAgICAgbWFwKChjYXJ0RFRPKSA9PiBuZXcgU2NDYXJ0KGNhcnREVE8pKSxcbiAgICAgICAgICAgIHRhcCgoY2FydCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FydCQubmV4dChjYXJ0KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNGR0YIg0LfQsNC/0YDQvtGBINC00L7QsdCw0LLQu9C10L3QuNGPINGC0L7QstCw0YDQsCDQsiDQutC+0YDQt9C40L3RgyDQuCDQstC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0YHQvtC00LXRgNC20LjQvNC+0LPQviDQutC+0YDQt9C40L3Riy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXJ0TmV3SXRlbSDQndC+0LLRi9C5INGN0LvQtdC80LXQvdGCINC60L7RgNC30LjQvdGLLlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRUb0NhcnQkKGNhcnROZXdJdGVtOiBTY0lOZXdDYXJ0SXRlbUJhc2UpOiBPYnNlcnZhYmxlPFNjQ2FydD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPFNjSUNhcnREVE8+KGAke3RoaXMudXJscy5hcGlVcmx9L2NhcnRgLCBjYXJ0TmV3SXRlbSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoY2FydERUTykgPT4gbmV3IFNjQ2FydChjYXJ0RFRPKSksXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLmNhcnRJdGVtQWRkZWQsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogeyBwcm9kdWN0X2lkOiBjYXJ0TmV3SXRlbS5wcm9kdWN0SWQgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKChjYXJ0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJ0JC5uZXh0KGNhcnQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0L7QsdC90L7QstC70LXQvdC40Y8g0L/QvtC30LjRhtC40Lgg0LIg0LrQvtGA0LfQuNC90LUg0Lgg0LLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQvtGA0LfQuNC90YsuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2FydEl0ZW1JZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRjdC70LXQvNC10L3RgtCwINC60L7RgNC30LjQvdGLLlxuICAgICAqIEBwYXJhbSBjYXJ0UGF0Y2hJdGVtINCd0L7QstGL0LUg0LTQsNC90L3Ri9C1INGN0LvQtdC80LXQvdGC0LAg0LrQvtGA0LfQuNC90YsuXG4gICAgICovXG4gICAgcHVibGljIHBhdGNoQ2FydEl0ZW0kKGNhcnRJdGVtSWQ6IG51bWJlciwgY2FydFBhdGNoSXRlbTogT21pdDxTY0lOZXdDYXJ0SXRlbUJhc2UsICdwcm9kdWN0SWQnPik6IE9ic2VydmFibGU8U2NDYXJ0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8U2NJQ2FydERUTz4oYCR7dGhpcy51cmxzLmFwaVVybH0vY2FydC8ke2NhcnRJdGVtSWR9YCwgY2FydFBhdGNoSXRlbSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoY2FydERUTykgPT4gbmV3IFNjQ2FydChjYXJ0RFRPKSksXG4gICAgICAgICAgICB0YXAoKGNhcnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnQkLm5leHQoY2FydCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDRkdGCINC30LDQv9GA0L7RgSDRg9C00LDQu9C10L3QuNGPINC/0L7Qt9C40YbQuNC4INC40Lcg0LrQvtGA0LfQuNC90Ysg0Lgg0LLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQvtGA0LfQuNC90YsuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2FydEl0ZW0g0JfQsNC/0LjRgdGMINC60L7RgNC30LjQvdGLLCDQutC+0YLQvtGA0YPRjiDQvdC10L7QsdGF0L7QtNC40LzQviDRg9C00LDQu9C40YLRjC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlQ2FydEl0ZW0kKGNhcnRJdGVtOiBTY0NhcnRJdGVtKTogT2JzZXJ2YWJsZTxTY0NhcnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8U2NJQ2FydERUTz4oYCR7dGhpcy51cmxzLmFwaVVybH0vY2FydC8ke2NhcnRJdGVtLmlkfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGNhcnREVE8pID0+IG5ldyBTY0NhcnQoY2FydERUTykpLFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5jYXJ0SXRlbURlbGV0ZWQsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogeyBwcm9kdWN0X2lkOiBjYXJ0SXRlbS5wcm9kdWN0LmlkIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRhcCgoY2FydCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FydCQubmV4dChjYXJ0KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNGR0YIg0LfQsNC/0YDQvtGBINC+0YfQuNGB0YLQutC4INC60L7RgNC30LjQvdGLLlxuICAgICAqL1xuICAgIHB1YmxpYyBjbGVhckNhcnQkKCk6IE9ic2VydmFibGU8dW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPHVuZGVmaW5lZD4oYCR7dGhpcy51cmxzLmFwaVVybH0vY2FydGApLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLmNhcnRDbGVhcmVkLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudWlTZXJ2aWNlLnJlbW92ZUFsbE5ld09yZGVyc01ldGFkYXRhKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJ0JC5uZXh0KG5ldyBTY0NhcnQoKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+INC60L7RgNC30LjQvdGLINC/0L4g0L3QsNC/0YDQsNCy0LvQtdC90LjRj9C8INC/0YDQvtC00LDQti5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2FydERpcmVjdGlvbnNDaGFuZ2UkKCk6IE9ic2VydmFibGU8U2NJU2FsZXNEaXJlY3Rpb25DYXJ0W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FydERpcmVjdGlvbnMkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQv9C+0LfQuNGG0LjQuSDQsiDQutC+0YDQt9C40L3QtSDRgSDRgtC+0LLQsNGA0LDQvNC4LCDQutC+0YLQvtGA0YvQtSDQsdGL0LvQuCDRg9C00LDQu9C10L3RiyDQuNC3INC/0YDQsNC50YEt0LvQuNGC0LAg0Lgg0LHQvtC70YzRiNC1INC90LUg0L/RgNC+0LTQsNGO0YLRgdGPLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROdWxsQ2FydEl0ZW1zJCgpOiBPYnNlcnZhYmxlPFNjQ2FydEl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDYXJ0Q2hhbmdlJCgpLnBpcGUobWFwKChjYXJ0KSA9PiBjYXJ0Lml0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5wcm9kdWN0LmlzTnVsbCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQvtCx0YrQtdC60YIge0BsaW5rIFNjQ2FydH0g0LrQvtGA0LfQuNC90YssINGB0L7Qt9C00LDQvdC90YvQuSDQuNC3INC+0LHRitC10LrRgtCwINC30LDQutCw0LfQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcmRlciDQlNCw0L3QvdGL0LUg0L4g0LfQsNC60LDQt9C1LlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzXG4gICAgcHVibGljIGdldENhcnRCeU9yZGVyKG9yZGVyOiBTY09yZGVyKTogU2NDYXJ0IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGl0ZW1zOiBvcmRlci5wcm9kdWN0cyA/PyBbXSxcbiAgICAgICAgICAgIHJlc3VsdFN1bTogeyBydWI6IG9yZGVyLnN1bSB9LFxuICAgICAgICAgICAgZGlyZWN0aW9uc1N1bTogeyBbb3JkZXIuZGlyZWN0aW9uXTogbmV3IFNjU3VtKG9yZGVyLnN1bSkgfSxcbiAgICAgICAgfSBhcyBTY0NhcnQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0L/RgNC40LzQtdGAIENTViDRhNCw0LnQu9CwINC00LvRjyDQtNC+0LHQsNCy0LvQtdC90LjRjyDQv9GA0L7QtNGD0LrRgtC+0LIg0LIg0LrQvtGA0LfQuNC90YMuXG4gICAgICovXG4gICAgcHVibGljIGdldENhcnRDc3ZFeGFtcGxlJCgpOiBPYnNlcnZhYmxlPEJsb2I+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldChgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXJ0L2Nzdi9leGFtcGxlYCwge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKG1hcCgoYmxvYikgPT4gbmV3IEJsb2IoW2Jsb2JdLCB7IHR5cGU6ICd0ZXh0L2NzdicgfSkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQlNC+0LHQsNCy0LvRj9C10YIg0YLQvtCy0LDRgNGLINCyINC60L7RgNC30LjQvdGDINC40Lcg0YTQsNC50LvQsCBDU1YuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsZSDQl9Cw0LPRgNGD0LbQsNC10LzRi9C5INGE0LDQudC7INCyINGE0L7RgNC80LDRgtC1IGJhc2U2NC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkUHJvZHVjdHNGcm9tQ3N2JChmaWxlOiBTY1VwbG9hZGVkRmlsZSk6IE9ic2VydmFibGU8U2NDYXJ0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTY0lDYXJ0RFRPPihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXJ0L2NzdmAsIHsgZmlsZSB9KS5waXBlKFxuICAgICAgICAgICAgbWFwKChjYXJ0RFRPKSA9PiBuZXcgU2NDYXJ0KGNhcnREVE8pKSxcbiAgICAgICAgICAgIHRhcCgoY2FydCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FydCQubmV4dChjYXJ0KTtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5jYXJ0Q3N2VXBsb2FkLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2FydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jYXJ0L3NlcnZpY2VzL3NjLWNhcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLEdBQUcsRUFBYyxhQUFhLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQU10RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRzdGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7O0FBR3pFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFnQnRCOzs7Ozs7Ozs7O09BVUc7SUFDSCxZQUNxQixJQUFnQixFQUNDLElBQWEsRUFDOUIsaUJBQXNDLEVBQ3RDLFNBQXNCLEVBQ3RCLGdCQUFvQyxFQUNwQyxXQUEwQixFQUMxQixrQkFBd0M7UUFOeEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNDLFNBQUksR0FBSixJQUFJLENBQVM7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFxQjtRQUN0QyxjQUFTLEdBQVQsU0FBUyxDQUFhO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFDMUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFzQjtR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QkFBc0IsQ0FBQyxhQUFhO2FBQy9DLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOytHQXpOUSxhQUFhLDRDQTZCVixPQUFPO21IQTdCVixhQUFhLGNBRlYsTUFBTTs7NEZBRVQsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQThCUSxNQUFNOzJCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2F1dGgvc2VydmljZXMvc2MtYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFNjSVVybHMgfSBmcm9tICcuLi8uLi9jb25maWcvc2MtaS11cmxzJztcbmltcG9ydCB7IFNjVXBsb2FkZWRGaWxlIH0gZnJvbSAnLi4vLi4vY29udGFjdHMvZHRvL3NjLXVwbG9hZGVkLWZpbGUnO1xuaW1wb3J0IHsgU2NPcmRlciB9IGZyb20gJy4uLy4uL29yZGVyL2R0by9zYy1vcmRlcic7XG5pbXBvcnQgeyBJU19CUk9XU0VSIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3Nzci5wcm92aWRlcnMnO1xuaW1wb3J0IHsgU2NSZWZlcmVuY2VzU2VydmljZSB9IGZyb20gJy4uLy4uL3JlZmVyZW5jZXMvc2VydmljZXMvc2MtcmVmZXJlbmNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFNDX1VSTFMgfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtdXJscyc7XG5pbXBvcnQgeyBTY1VJU2VydmljZSB9IGZyb20gJy4uLy4uL3VpL3NlcnZpY2VzL3NjLXVpLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NVc2VyTWV0cmlrYUdvYWxzRW51bSB9IGZyb20gJy4uLy4uL3VzZXItbWV0cmlrYS9lbnVtcy9zYy11c2VyLW1ldHJpa2EtZ29hbHMtZW51bSc7XG5pbXBvcnQgeyBTY1VzZXJNZXRyaWthU2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItbWV0cmlrYS9zZXJ2aWNlcy9zYy11c2VyLW1ldHJpa2Euc2VydmljZSc7XG5pbXBvcnQgeyBTY1dhcmVob3VzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi93YXJlaG91c2UnO1xuaW1wb3J0IHsgU2NTdW0gfSBmcm9tICcuLi9jbGFzc2VzL3NjLXN1bSc7XG5pbXBvcnQgeyBTY0NhcnQgfSBmcm9tICcuLi9kdG8vc2MtY2FydCc7XG5pbXBvcnQgeyBTY0NhcnRJdGVtIH0gZnJvbSAnLi4vZHRvL3NjLWNhcnQtaXRlbSc7XG5pbXBvcnQgeyBTY0lOZXdDYXJ0SXRlbUJhc2UgfSBmcm9tICcuLi9kdG8vc2MtaS1uZXctY2FydC1pdGVtLWJhc2UnO1xuaW1wb3J0IHsgU2NJU2FsZXNEaXJlY3Rpb25DYXJ0IH0gZnJvbSAnLi4vZHRvL3NjLWktc2FsZXMtZGlyZWN0aW9uLWNhcnQnO1xuaW1wb3J0IHsgU2NJQ2FydERUTyB9IGZyb20gJy4uL2ludGVybmFsL3NjLWktY2FydC1kdG8nO1xuXG4vKipcbiAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC60L7RgNC30LjQvdC+0LkuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNjQ2FydFNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIHtAbGluayBSZXBsYXlTdWJqZWN0fSDQtNC70Y8g0YHQvtC00LXRgNC20LjQvNC+0LPQviDQutC+0YDQt9C40L3Riy5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNhcnQkOiBSZXBsYXlTdWJqZWN0PFNjQ2FydD4gPSBuZXcgUmVwbGF5U3ViamVjdDxTY0NhcnQ+KDEpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQvtGA0LfQuNC90Ysg0L/QviDQvdCw0L/RgNCw0LLQu9C10L3QuNGP0Lwg0L/RgNC+0LTQsNC2LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FydERpcmVjdGlvbnMkOiBPYnNlcnZhYmxlPFNjSVNhbGVzRGlyZWN0aW9uQ2FydFtdPjtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0YHQutGA0LjQv9GCINCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0LIg0LHRgNCw0YPQt9C10YDQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzQnJvd3NlcjogYm9vbGVhbiA9IGluamVjdChJU19CUk9XU0VSKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NDYXJ0U2VydmljZX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaHR0cCDQodC10YDQstC40YEg0LTQu9GPINCy0YvQv9C+0LvQvdC10L3QuNGPIEhUVFAt0LfQsNC/0YDQvtGB0L7Qsi5cbiAgICAgKiBAcGFyYW0gdXJscyDQodC/0LjRgdC+0Log0YHRgdGL0LvQvtC6INC90LAg0YDQsNC30LTQtdC70YsgYmFja2VuZCdhLlxuICAgICAqIEBwYXJhbSByZWZlcmVuY2VzU2VydmljZSDQodC10YDQstC40YEg0YHQv9GA0LDQstC+0YfQvdC40LrQvtCyLlxuICAgICAqIEBwYXJhbSB1aVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEgVUkuXG4gICAgICogQHBhcmFtIHdhcmVob3VzZVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YHQviDRgdC60LvQsNC00LDQvNC4LlxuICAgICAqIEBwYXJhbSBhdXRoU2VydmljZSDQodC10YDQstC40YEg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKiBAcGFyYW0gdXNlck1ldHJpa2FTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YHQsdC+0YDQsCDQvNC10YLRgNC40Log0L4g0LTQtdC50YHRgtCy0LjRj9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBASW5qZWN0KFNDX1VSTFMpIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZWZlcmVuY2VzU2VydmljZTogU2NSZWZlcmVuY2VzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1aVNlcnZpY2U6IFNjVUlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHdhcmVob3VzZVNlcnZpY2U6IFNjV2FyZWhvdXNlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogU2NBdXRoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1c2VyTWV0cmlrYVNlcnZpY2U6IFNjVXNlck1ldHJpa2FTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgYXV0aFNlcnZpY2VcbiAgICAgICAgICAgICAgICAuZ2V0QXV0aENoYW5nZSgpXG4gICAgICAgICAgICAgICAgLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMudXBkYXRlQ2FydCQoKSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoY2FydCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhcnQkLm5leHQoY2FydCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNhcnQkLm5leHQobmV3IFNjQ2FydCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2FydERpcmVjdGlvbnMkID0gcmVmZXJlbmNlc1NlcnZpY2UuZGlyZWN0aW9ucyQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoZGlyZWN0aW9ucykgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmNhcnQkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoY2FydCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMud2FyZWhvdXNlU2VydmljZS5nZXRXYXJlaG91c2VTZWxlY3RDaGFuZ2UkKCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoKHdhcmVob3VzZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGlyZWN0aW9uKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgU2NJU2FsZXNEaXJlY3Rpb25DYXJ0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FydC5pdGVtcy5maWx0ZXIoKGNhcnRJdGVtKSA9PiBjYXJ0SXRlbS5zYWxlc0RpcmVjdGlvbiA9PT0gZGlyZWN0aW9uLmlkKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhcnQuZGlyZWN0aW9uc1N1bVtkaXJlY3Rpb24uaWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FyZWhvdXNlLmlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGRpcmVjdGlvbikgPT4gZGlyZWN0aW9uLml0ZW1zLmxlbmd0aCA+IDAgfHwgZGlyZWN0aW9uLml0ZW1zT25PcmRlci5sZW5ndGggPiAwIHx8IGRpcmVjdGlvbi5pdGVtc05vdEluV2FyZWhvdXNlU3RvY2subGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQvtGA0LfQuNC90YsuXG4gICAgICovXG4gICAgcHVibGljIGdldENhcnRDaGFuZ2UkKCk6IE9ic2VydmFibGU8U2NDYXJ0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcnQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDRkdGCINC30LDQv9GA0L7RgSDQv9C+0LvRg9GH0LXQvdC40Y8g0YHQvtC00LXRgNC20LjQvNC+0LPQviDQutC+0YDQt9C40L3RiyDQuCDQvtCx0L3QvtCy0LvRj9C10YIg0LrQvtGA0LfQuNC90YMsINCy0L7Qt9Cy0YDQsNGJ0LDRjyB7QGxpbmsgT2JzZXJ2YWJsZX0g0YHQvtC00LXRgNC20LjQvNC+0LPQviDQutC+0YDQt9C40L3Riy5cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlQ2FydCQoKTogT2JzZXJ2YWJsZTxTY0NhcnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2NJQ2FydERUTz4oYCR7dGhpcy51cmxzLmFwaVVybH0vY2FydGApLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGNhcnREVE8pID0+IG5ldyBTY0NhcnQoY2FydERUTykpLFxuICAgICAgICAgICAgdGFwKChjYXJ0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJ0JC5uZXh0KGNhcnQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0LTQvtCx0LDQstC70LXQvdC40Y8g0YLQvtCy0LDRgNCwINCyINC60L7RgNC30LjQvdGDINC4INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+INC60L7RgNC30LjQvdGLLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhcnROZXdJdGVtINCd0L7QstGL0Lkg0Y3Qu9C10LzQtdC90YIg0LrQvtGA0LfQuNC90YsuXG4gICAgICovXG4gICAgcHVibGljIGFkZFRvQ2FydCQoY2FydE5ld0l0ZW06IFNjSU5ld0NhcnRJdGVtQmFzZSk6IE9ic2VydmFibGU8U2NDYXJ0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8U2NJQ2FydERUTz4oYCR7dGhpcy51cmxzLmFwaVVybH0vY2FydGAsIGNhcnROZXdJdGVtKS5waXBlKFxuICAgICAgICAgICAgbWFwKChjYXJ0RFRPKSA9PiBuZXcgU2NDYXJ0KGNhcnREVE8pKSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0uY2FydEl0ZW1BZGRlZCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IHByb2R1Y3RfaWQ6IGNhcnROZXdJdGVtLnByb2R1Y3RJZCB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0YXAoKGNhcnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnQkLm5leHQoY2FydCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDRkdGCINC30LDQv9GA0L7RgSDQvtCx0L3QvtCy0LvQtdC90LjRjyDQv9C+0LfQuNGG0LjQuCDQsiDQutC+0YDQt9C40L3QtSDQuCDQstC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0YHQvtC00LXRgNC20LjQvNC+0LPQviDQutC+0YDQt9C40L3Riy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXJ0SXRlbUlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGN0LvQtdC80LXQvdGC0LAg0LrQvtGA0LfQuNC90YsuXG4gICAgICogQHBhcmFtIGNhcnRQYXRjaEl0ZW0g0J3QvtCy0YvQtSDQtNCw0L3QvdGL0LUg0Y3Qu9C10LzQtdC90YLQsCDQutC+0YDQt9C40L3Riy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcGF0Y2hDYXJ0SXRlbSQoY2FydEl0ZW1JZDogbnVtYmVyLCBjYXJ0UGF0Y2hJdGVtOiBPbWl0PFNjSU5ld0NhcnRJdGVtQmFzZSwgJ3Byb2R1Y3RJZCc+KTogT2JzZXJ2YWJsZTxTY0NhcnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDxTY0lDYXJ0RFRPPihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXJ0LyR7Y2FydEl0ZW1JZH1gLCBjYXJ0UGF0Y2hJdGVtKS5waXBlKFxuICAgICAgICAgICAgbWFwKChjYXJ0RFRPKSA9PiBuZXcgU2NDYXJ0KGNhcnREVE8pKSxcbiAgICAgICAgICAgIHRhcCgoY2FydCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FydCQubmV4dChjYXJ0KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNGR0YIg0LfQsNC/0YDQvtGBINGD0LTQsNC70LXQvdC40Y8g0L/QvtC30LjRhtC40Lgg0LjQtyDQutC+0YDQt9C40L3RiyDQuCDQstC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0YHQvtC00LXRgNC20LjQvNC+0LPQviDQutC+0YDQt9C40L3Riy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXJ0SXRlbSDQl9Cw0L/QuNGB0Ywg0LrQvtGA0LfQuNC90YssINC60L7RgtC+0YDRg9GOINC90LXQvtCx0YXQvtC00LjQvNC+INGD0LTQsNC70LjRgtGMLlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWxldGVDYXJ0SXRlbSQoY2FydEl0ZW06IFNjQ2FydEl0ZW0pOiBPYnNlcnZhYmxlPFNjQ2FydD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxTY0lDYXJ0RFRPPihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXJ0LyR7Y2FydEl0ZW0uaWR9YCkucGlwZShcbiAgICAgICAgICAgIG1hcCgoY2FydERUTykgPT4gbmV3IFNjQ2FydChjYXJ0RFRPKSksXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLmNhcnRJdGVtRGVsZXRlZCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IHByb2R1Y3RfaWQ6IGNhcnRJdGVtLnByb2R1Y3QuaWQgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKChjYXJ0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJ0JC5uZXh0KGNhcnQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0L7Rh9C40YHRgtC60Lgg0LrQvtGA0LfQuNC90YsuXG4gICAgICovXG4gICAgcHVibGljIGNsZWFyQ2FydCQoKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8dW5kZWZpbmVkPihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXJ0YCkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0uY2FydENsZWFyZWQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51aVNlcnZpY2UucmVtb3ZlQWxsTmV3T3JkZXJzTWV0YWRhdGEoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnQkLm5leHQobmV3IFNjQ2FydCgpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQvtGA0LfQuNC90Ysg0L/QviDQvdCw0L/RgNCw0LLQu9C10L3QuNGP0Lwg0L/RgNC+0LTQsNC2LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXJ0RGlyZWN0aW9uc0NoYW5nZSQoKTogT2JzZXJ2YWJsZTxTY0lTYWxlc0RpcmVjdGlvbkNhcnRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXJ0RGlyZWN0aW9ucyQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC/0L7Qt9C40YbQuNC5INCyINC60L7RgNC30LjQvdC1INGBINGC0L7QstCw0YDQsNC80LgsINC60L7RgtC+0YDRi9C1INCx0YvQu9C4INGD0LTQsNC70LXQvdGLINC40Lcg0L/RgNCw0LnRgS3Qu9C40YLQsCDQuCDQsdC+0LvRjNGI0LUg0L3QtSDQv9GA0L7QtNCw0Y7RgtGB0Y8uXG4gICAgICovXG4gICAgcHVibGljIGdldE51bGxDYXJ0SXRlbXMkKCk6IE9ic2VydmFibGU8U2NDYXJ0SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENhcnRDaGFuZ2UkKCkucGlwZShtYXAoKGNhcnQpID0+IGNhcnQuaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnByb2R1Y3QuaXNOdWxsKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC+0LHRitC10LrRgiB7QGxpbmsgU2NDYXJ0fSDQutC+0YDQt9C40L3Riywg0YHQvtC30LTQsNC90L3Ri9C5INC40Lcg0L7QsdGK0LXQutGC0LAg0LfQsNC60LDQt9CwLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9yZGVyINCU0LDQvdC90YvQtSDQviDQt9Cw0LrQsNC30LUuXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgICBwdWJsaWMgZ2V0Q2FydEJ5T3JkZXIob3JkZXI6IFNjT3JkZXIpOiBTY0NhcnQge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaXRlbXM6IG9yZGVyLnByb2R1Y3RzID8/IFtdLFxuICAgICAgICAgICAgcmVzdWx0U3VtOiB7IHJ1Yjogb3JkZXIuc3VtIH0sXG4gICAgICAgICAgICBkaXJlY3Rpb25zU3VtOiB7IFtvcmRlci5kaXJlY3Rpb25dOiBuZXcgU2NTdW0ob3JkZXIuc3VtKSB9LFxuICAgICAgICB9IGFzIFNjQ2FydDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQv9GA0LjQvNC10YAgQ1NWINGE0LDQudC70LAg0LTQu9GPINC00L7QsdCw0LLQu9C10L3QuNGPINC/0YDQvtC00YPQutGC0L7QsiDQsiDQutC+0YDQt9C40L3Rgy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2FydENzdkV4YW1wbGUkKCk6IE9ic2VydmFibGU8QmxvYj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0KGAke3RoaXMudXJscy5hcGlVcmx9L2NhcnQvY3N2L2V4YW1wbGVgLCB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUobWFwKChibG9iKSA9PiBuZXcgQmxvYihbYmxvYl0sIHsgdHlwZTogJ3RleHQvY3N2JyB9KSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCU0L7QsdCw0LLQu9GP0LXRgiDRgtC+0LLQsNGA0Ysg0LIg0LrQvtGA0LfQuNC90YMg0LjQtyDRhNCw0LnQu9CwIENTVi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWxlINCX0LDQs9GA0YPQttCw0LXQvNGL0Lkg0YTQsNC50Lsg0LIg0YTQvtGA0LzQsNGC0LUgYmFzZTY0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRQcm9kdWN0c0Zyb21Dc3YkKGZpbGU6IFNjVXBsb2FkZWRGaWxlKTogT2JzZXJ2YWJsZTxTY0NhcnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNjSUNhcnREVE8+KGAke3RoaXMudXJscy5hcGlVcmx9L2NhcnQvY3N2YCwgeyBmaWxlIH0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGNhcnREVE8pID0+IG5ldyBTY0NhcnQoY2FydERUTykpLFxuICAgICAgICAgICAgdGFwKChjYXJ0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJ0JC5uZXh0KGNhcnQpO1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLmNhcnRDc3ZVcGxvYWQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -3,8 +3,7 @@ import { InjectionToken } from '@angular/core';
|
|
|
3
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { ActivatedRoute } from '@angular/router';
|
|
5
5
|
import { tuiIsPresent } from '@taiga-ui/cdk';
|
|
6
|
-
import { filter, map, switchMap } from 'rxjs';
|
|
7
|
-
import { ScCartService } from '../cart/services/sc-cart.service';
|
|
6
|
+
import { filter, map, shareReplay, switchMap } from 'rxjs';
|
|
8
7
|
import { ScCatalogService } from '../catalog/services/sc-catalog.service';
|
|
9
8
|
/**
|
|
10
9
|
* Токен потока данных о виртуальной категории.
|
|
@@ -17,13 +16,9 @@ export const SC_VIRTUAL_CATEGORY_INFO = new InjectionToken('A stream with curren
|
|
|
17
16
|
* @param paramMap.paramMap Параметры.
|
|
18
17
|
* @param catalogService.paramMap Параметры маршрута.
|
|
19
18
|
* @param catalogService Сервис для работы с каталогом.
|
|
20
|
-
* @param cartService Сервис для работы с корзиной.
|
|
21
19
|
*/
|
|
22
|
-
function virtualCategoryFactory({ paramMap }, catalogService
|
|
23
|
-
return paramMap.pipe(map((params) => params.get('categorySlug')), filter(tuiIsPresent), switchMap((categorySlug) => catalogService.getVirtualCategoryCached$(categorySlug)
|
|
24
|
-
virtualCategory?.products?.forEach((product) => (product.cartItem = cart.items.find((cartItem) => cartItem.product.id === product.id)));
|
|
25
|
-
return virtualCategory;
|
|
26
|
-
}))), takeUntilDestroyed());
|
|
20
|
+
function virtualCategoryFactory({ paramMap }, catalogService) {
|
|
21
|
+
return paramMap.pipe(map((params) => params.get('categorySlug')), filter(tuiIsPresent), switchMap((categorySlug) => catalogService.getVirtualCategoryCached$(categorySlug).pipe(shareReplay())), takeUntilDestroyed());
|
|
27
22
|
}
|
|
28
23
|
/**
|
|
29
24
|
* Провайдеры потока данных о виртуальной категории.
|
|
@@ -31,8 +26,8 @@ function virtualCategoryFactory({ paramMap }, catalogService, cartService) {
|
|
|
31
26
|
export const SC_VIRTUAL_CATEGORY_PROVIDERS = [
|
|
32
27
|
{
|
|
33
28
|
provide: SC_VIRTUAL_CATEGORY_INFO,
|
|
34
|
-
deps: [ActivatedRoute, ScCatalogService
|
|
29
|
+
deps: [ActivatedRoute, ScCatalogService],
|
|
35
30
|
useFactory: virtualCategoryFactory,
|
|
36
31
|
},
|
|
37
32
|
];
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1jYXRlZ29yeS5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Byb3ZpZGVycy92aXJ0dWFsLWNhdGVnb3J5LnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrRUFBK0U7QUFFL0UsT0FBTyxFQUFFLGNBQWMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTFFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQXVDLG9EQUFvRCxDQUFDLENBQUM7QUFFdko7Ozs7Ozs7R0FPRztBQUNILFNBQVMsc0JBQXNCLENBQUMsRUFBRSxRQUFRLEVBQWtCLEVBQUUsY0FBZ0M7SUFDMUYsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUNoQixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsRUFDM0MsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUNwQixTQUFTLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUN2RyxrQkFBa0IsRUFBRSxDQUN2QixDQUFDO0FBQ04sQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQWU7SUFDckQ7UUFDSSxPQUFPLEVBQUUsd0JBQXdCO1FBQ2pDLElBQUksRUFBRSxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQztRQUN4QyxVQUFVLEVBQUUsc0JBQXNCO0tBQ3JDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduLG5vLXJldHVybi1hc3NpZ24sanNkb2MvY2hlY2stcGFyYW0tbmFtZXMgKi9cblxuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyB0dWlJc1ByZXNlbnQgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjVmlydHVhbENhdGVnb3J5IH0gZnJvbSAnLi4vY2F0YWxvZy9kdG8vc2MtdmlydHVhbC1jYXRlZ29yeSc7XG5pbXBvcnQgeyBTY0NhdGFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vY2F0YWxvZy9zZXJ2aWNlcy9zYy1jYXRhbG9nLnNlcnZpY2UnO1xuXG4vKipcbiAqINCi0L7QutC10L0g0L/QvtGC0L7QutCwINC00LDQvdC90YvRhSDQviDQstC40YDRgtGD0LDQu9GM0L3QvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNDX1ZJUlRVQUxfQ0FURUdPUllfSU5GTyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPFNjVmlydHVhbENhdGVnb3J5IHwgbnVsbD4+KCdBIHN0cmVhbSB3aXRoIGN1cnJlbnQgdmlydHVhbCBjYXRlZ29yeSBpbmZvcm1hdGlvbicpO1xuXG4vKipcbiAqINCk0LDQsdGA0LjQutCwINGB0L7Qt9C00LDQvdC40Y8g0L/QvtGC0L7QutCwINC00LDQvdC90YvRhSDQstC40YDRgtGD0LDQu9GM0L3QvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1NYXAg0J/QsNGA0LDQvNC10YLRgNGLLlxuICogQHBhcmFtIHBhcmFtTWFwLnBhcmFtTWFwINCf0LDRgNCw0LzQtdGC0YDRiy5cbiAqIEBwYXJhbSBjYXRhbG9nU2VydmljZS5wYXJhbU1hcCDQn9Cw0YDQsNC80LXRgtGA0Ysg0LzQsNGA0YjRgNGD0YLQsC5cbiAqIEBwYXJhbSBjYXRhbG9nU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutCw0YLQsNC70L7Qs9C+0LwuXG4gKi9cbmZ1bmN0aW9uIHZpcnR1YWxDYXRlZ29yeUZhY3RvcnkoeyBwYXJhbU1hcCB9OiBBY3RpdmF0ZWRSb3V0ZSwgY2F0YWxvZ1NlcnZpY2U6IFNjQ2F0YWxvZ1NlcnZpY2UpOiBPYnNlcnZhYmxlPFNjVmlydHVhbENhdGVnb3J5IHwgbnVsbD4ge1xuICAgIHJldHVybiBwYXJhbU1hcC5waXBlKFxuICAgICAgICBtYXAoKHBhcmFtcykgPT4gcGFyYW1zLmdldCgnY2F0ZWdvcnlTbHVnJykpLFxuICAgICAgICBmaWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgc3dpdGNoTWFwKChjYXRlZ29yeVNsdWcpID0+IGNhdGFsb2dTZXJ2aWNlLmdldFZpcnR1YWxDYXRlZ29yeUNhY2hlZCQoY2F0ZWdvcnlTbHVnKS5waXBlKHNoYXJlUmVwbGF5KCkpKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKClcbiAgICApO1xufVxuXG4vKipcbiAqINCf0YDQvtCy0LDQudC00LXRgNGLINC/0L7RgtC+0LrQsCDQtNCw0L3QvdGL0YUg0L4g0LLQuNGA0YLRg9Cw0LvRjNC90L7QuSDQutCw0YLQtdCz0L7RgNC40LguXG4gKi9cbmV4cG9ydCBjb25zdCBTQ19WSVJUVUFMX0NBVEVHT1JZX1BST1ZJREVSUzogUHJvdmlkZXJbXSA9IFtcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFNDX1ZJUlRVQUxfQ0FURUdPUllfSU5GTyxcbiAgICAgICAgZGVwczogW0FjdGl2YXRlZFJvdXRlLCBTY0NhdGFsb2dTZXJ2aWNlXSxcbiAgICAgICAgdXNlRmFjdG9yeTogdmlydHVhbENhdGVnb3J5RmFjdG9yeSxcbiAgICB9LFxuXTtcbiJdfQ==
|
|
@@ -2597,6 +2597,9 @@ class ScCartService {
|
|
|
2597
2597
|
this.cart$.next(cart);
|
|
2598
2598
|
});
|
|
2599
2599
|
}
|
|
2600
|
+
else {
|
|
2601
|
+
this.cart$.next(new ScCart());
|
|
2602
|
+
}
|
|
2600
2603
|
this.cartDirections$ = referencesService.directions$.pipe(switchMap((directions) => this.cart$.pipe(switchMap((cart) => this.warehouseService.getWarehouseSelectChange$().pipe(map((warehouse) => directions
|
|
2601
2604
|
.map((direction) => new ScISalesDirectionCart(direction, cart.items.filter((cartItem) => cartItem.salesDirection === direction.id), cart.directionsSum[direction.id], warehouse.id))
|
|
2602
2605
|
.filter((direction) => direction.items.length > 0 || direction.itemsOnOrder.length > 0 || direction.itemsNotInWarehouseStock.length > 0)))))));
|
|
@@ -4482,13 +4485,9 @@ const SC_VIRTUAL_CATEGORY_INFO = new InjectionToken('A stream with current virtu
|
|
|
4482
4485
|
* @param paramMap.paramMap Параметры.
|
|
4483
4486
|
* @param catalogService.paramMap Параметры маршрута.
|
|
4484
4487
|
* @param catalogService Сервис для работы с каталогом.
|
|
4485
|
-
* @param cartService Сервис для работы с корзиной.
|
|
4486
4488
|
*/
|
|
4487
|
-
function virtualCategoryFactory({ paramMap }, catalogService
|
|
4488
|
-
return paramMap.pipe(map((params) => params.get('categorySlug')), filter(tuiIsPresent), switchMap((categorySlug) => catalogService.getVirtualCategoryCached$(categorySlug)
|
|
4489
|
-
virtualCategory?.products?.forEach((product) => (product.cartItem = cart.items.find((cartItem) => cartItem.product.id === product.id)));
|
|
4490
|
-
return virtualCategory;
|
|
4491
|
-
}))), takeUntilDestroyed());
|
|
4489
|
+
function virtualCategoryFactory({ paramMap }, catalogService) {
|
|
4490
|
+
return paramMap.pipe(map((params) => params.get('categorySlug')), filter(tuiIsPresent), switchMap((categorySlug) => catalogService.getVirtualCategoryCached$(categorySlug).pipe(shareReplay())), takeUntilDestroyed());
|
|
4492
4491
|
}
|
|
4493
4492
|
/**
|
|
4494
4493
|
* Провайдеры потока данных о виртуальной категории.
|
|
@@ -4496,7 +4495,7 @@ function virtualCategoryFactory({ paramMap }, catalogService, cartService) {
|
|
|
4496
4495
|
const SC_VIRTUAL_CATEGORY_PROVIDERS = [
|
|
4497
4496
|
{
|
|
4498
4497
|
provide: SC_VIRTUAL_CATEGORY_INFO,
|
|
4499
|
-
deps: [ActivatedRoute, ScCatalogService
|
|
4498
|
+
deps: [ActivatedRoute, ScCatalogService],
|
|
4500
4499
|
useFactory: virtualCategoryFactory,
|
|
4501
4500
|
},
|
|
4502
4501
|
];
|