{"version":3,"mappings":"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","names":["constructor","ngOnInit","p","selectors","t","i","u","r","d","e","a","c","this","O","J","y","item","product","cartService","itemAvailable","clickout","eRef","nativeElement","contains","target","active","openRemoveDialog","autoFocus","data","perform","dialog","open","updateQuantity","quantityInput","value","getCartItemByPzn","quantity","updateItem","matomoService","addItemToCart","updateCartTotal","calculateTotals","total","remove","afterClosed","pipe","ngUnsubscribe$","subscribe","removeFromCart","removeItemFromCart","sanitizeProductName","replace","ngOnDestroy","next","complete","g","T","q","pt","k","items$","getCartItemsObservable","totals","openClearDialog","executeOrder","router","navigateByUrl","clearCart","backClick","location","back","_","m","l","v","path","component","pathMatch","s","f","U","P","st","C","lt","M","Z","I","mt"],"sources":["webpack:///src/app/modules/webshop/components/cart/clear-cart-dialog/clear-cart-dialog.component.ts","webpack:///src/app/modules/webshop/components/cart/clear-cart-dialog/clear-cart-dialog.component.html","webpack:///src/app/modules/webshop/components/cart/remove-cart-item-dialog/remove-cart-item-dialog.component.html","webpack:///src/app/modules/webshop/components/cart/remove-cart-item-dialog/remove-cart-item-dialog.component.ts","webpack:///src/app/modules/shared/text-info/text-info.component.ts","webpack:///src/app/modules/shared/text-info/text-info.component.html","webpack:///src/app/modules/webshop/components/cart/cart-item/cart-item.component.html","webpack:///src/app/modules/webshop/components/cart/cart-item/cart-item.component.ts","webpack:///src/app/modules/webshop/components/cart/cart.component.html","webpack:///src/app/modules/webshop/components/cart/cart.component.ts","webpack:///src/app/modules/shared/text-info/text-info.module.ts","webpack:///src/app/modules/webshop/components/cart/cart.module.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'clear-cart-dialog',\n templateUrl: './clear-cart-dialog.component.html',\n styleUrls: ['./clear-cart-dialog.component.scss']\n})\nexport class ClearCartDialogComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","

Warenkorb leeren

\n
\n Möchten Sie wirklich alle Produkte aus Ihrem Warenkorb entfernen?\n
\n
\n \n \n
\n","\n

Produkt entfernen

\n
\n Möchten sie
wirklich aus den Warenkorb entfernen?\n
\n
\n \n \n
\n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport {DialogDataItem} from '../../../../../core/interfaces/dialog-data-item.interface';\n\n\n@Component({\n selector: 'remove-cart-item-dialog',\n templateUrl: './remove-cart-item-dialog.component.html',\n styleUrls: ['./remove-cart-item-dialog.component.scss']\n})\nexport class RemoveCartItemDialogComponent implements OnInit {\n\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: DialogDataItem) {\n }\n\n ngOnInit() {\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'text-info',\n templateUrl: './text-info.component.html',\n styleUrls: ['./text-info.component.scss']\n})\nexport class TextInfoComponent implements OnInit {\n @Input() public message: string;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","
\n {{message}}\n
\n","
\n \n

Bestellübersicht

\n
\n
\n Produktinformation\n
\n
\n Menge\n
\n\n
\n Verfügbarkeit\n
\n
\n Einzelpreis\n
\n
\n Zwischensumme\n
\n
\n
\n
\n
\n \n \n
\n
Art-Nr. {{item.product.id}}
\n
PZN: {{item.product.id}}
\n
\n
\n
\n \n \n
\n
\n
\n  \n

\n Das Produkt muss bestellt werden.\n
\n Die Lieferdauer beträgt ca.{{item.product.delivery}}.\n

\n
\n
\n \n

Keine Angabe

\n
\n
\n

Lieferung i.d.R. innerhalb von zwei Werktagen; solange der Vorrat reicht

\n
\n
\n  \n \n nicht verfügbar\n \n \n\n

\n {{quantity.menge}} von {{item.availability.artikel[0].anfrageMenge}}: {{'MSV3.' + quantity.typ | translate }} \n ({{quantity.tour}})\n

\n
\n \n

Auftragsübermittlung an Hersteller

\n
\n
\n
\n
\n ca. AEP\n \n
\n
{{item.price | currency:'EUR':'symbol':'1.2-2' }}
\n \n

ab einer Bestellmenge von {{price.key }}

\n
\n
\n
\n
{{ (item.price * item.quantity) |\n currency:'EUR':'symbol':'1.2-2' }}
\n
\n
\n
\n","import {Component, ElementRef, HostListener, Inject, Input, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {CartService} from '../../../../../core/services/cart.service';\nimport {takeUntil} from 'rxjs/operators';\nimport {MatDialog, MatDialogConfig, MatDialogRef} from '@angular/material/dialog';\nimport {Subject} from 'rxjs';\nimport {ProductType} from '../../../../../core/models/shop/product-type.model';\nimport {CartItem} from '../../../../../core/models/shop/cart-item.model';\nimport {RemoveCartItemDialogComponent} from '../remove-cart-item-dialog/remove-cart-item-dialog.component';\nimport {ProfaxType} from '../../../../../core/models/shop/profax-type.model';\nimport {MatomoService} from '../../../../../core/services/matomo.service';\n\n@Component({\n selector: 'app-cart-item',\n templateUrl: './cart-item.component.html',\n styleUrls: ['./cart-item.component.scss']\n})\nexport class CartItemComponent implements OnInit, OnDestroy {\n @Input() item: CartItem;\n @Input() index: number;\n @ViewChild('quantityInput') quantityInput: ElementRef;\n ProductType: typeof ProductType = ProductType;\n ProfaxType: typeof ProfaxType = ProfaxType;\n\n public active = false;\n\n public ngUnsubscribe$ = new Subject();\n\n constructor(@Inject(CartService) public cartService: CartService,\n public matomoService:MatomoService,\n public dialog: MatDialog,\n public eRef: ElementRef) {\n }\n\n ngOnInit() {\n if (this.item && this.item.product) {\n this.item = this.cartService.itemAvailable(this.item);\n }\n }\n\n @HostListener('document:click', ['$event'])\n clickout(event) {\n if (!this.eRef.nativeElement.contains(event.target)) {\n this.active = false;\n }\n }\n\n /**\n * @param {CartItem} item\n * @return {MatDialogRef}\n */\n openRemoveDialog(item: CartItem): MatDialogRef {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.autoFocus = true;\n dialogConfig.data = {perform: false, item: item};\n return this.dialog.open(RemoveCartItemDialogComponent, dialogConfig);\n }\n\n /**\n * @param {String} pzn\n */\n updateQuantity(pzn: string): void {\n this.quantityInput.nativeElement.value = (this.quantityInput.nativeElement.value >= 1000\n ? 999\n : this.quantityInput.nativeElement.value);\n const item = this.cartService.getCartItemByPzn(pzn);\n item.quantity = this.quantityInput.nativeElement.value;\n this.cartService.updateItem(item);\n this.item = this.cartService.itemAvailable(this.item);\n this.matomoService.addItemToCart(item);\n this.matomoService.updateCartTotal(this.cartService.calculateTotals().total);\n }\n\n /**\n * @param {string} pzn\n */\n remove(pzn: string): void {\n const item = this.cartService.getCartItemByPzn(pzn);\n const dialogRef = this.openRemoveDialog(item);\n dialogRef.afterClosed().pipe(takeUntil(this.ngUnsubscribe$)).subscribe(result => {\n result && this.cartService.removeFromCart(pzn);\n this.matomoService.removeItemFromCart(pzn);\n this.matomoService.updateCartTotal(this.cartService.calculateTotals().total);\n });\n }\n\n sanitizeProductName(content) {\n return content.replace(/<[^>]*>/g, '');\n }\n\n /**\n * Unsubscribe from all subscriptions.\n */\n ngOnDestroy(): void {\n this.ngUnsubscribe$.next();\n this.ngUnsubscribe$.complete();\n }\n}\n","
\n
\n

Warenkorb

\n \n \n \n \n \n
0\">\n \n
\n \n
\n
\n
0\">\n
\n \n
\n
\n \n
\n
\n\n
\n
\n
\n
Es befinden sich aktuell keine Artikel in ihrem Warenkorb.
\n \n Zu den Angeboten\n \n keyboard_arrow_right\n \n \n
\n
\n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {CartItem} from '../../../../core/models/shop/cart-item.model';\nimport {CartService} from '../../../../core/services/cart.service';\nimport {Observable, Subject} from 'rxjs';\nimport {MatDialog, MatDialogConfig, MatDialogRef} from '@angular/material/dialog';\nimport {ClearCartDialogComponent} from './clear-cart-dialog/clear-cart-dialog.component';\nimport {takeUntil} from 'rxjs/operators';\nimport {Totals} from '../../../../core/models/totals.model';\nimport {Location} from '@angular/common';\nimport {ProductType} from '../../../../core/models/shop/product-type.model';\nimport {MatomoService} from '../../../../core/services/matomo.service';\n\n@Component({\n selector: 'cart',\n templateUrl: './cart.component.html',\n styleUrls: ['./cart.component.scss']\n})\nexport class CartComponent implements OnInit {\n public items$: Observable;\n public totals: Totals = new Totals();\n public ngUnsubscribe$ = new Subject();\n public sparangeboteLink = 'shop';\n\n /**\n * @param {ActivatedRoute} activatedRoute\n * @param {CartService} cartService\n * @param {Location} location\n * @param {MatDialog} dialog\n * @param {Router} router\n * @param {MatomoService} matomoService\n */\n constructor(@Inject(CartService) public cartService: CartService,\n public activatedRoute: ActivatedRoute,\n public location: Location,\n public dialog: MatDialog,\n public router: Router,\n public matomoService: MatomoService) {\n this.items$ = this.cartService.getCartItemsObservable();\n this.items$.subscribe(() => {\n this.totals = this.cartService.calculateTotals();\n });\n }\n\n /**\n * Calculate total on init.\n */\n ngOnInit() {\n }\n\n /**\n * @return {MatDialogRef}\n */\n openClearDialog(): MatDialogRef {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.autoFocus = true;\n return this.dialog.open(ClearCartDialogComponent, dialogConfig);\n }\n\n /**\n * Redirect to order execution.\n */\n executeOrder(): void {\n this.router.navigateByUrl('/bestellung');\n }\n\n /**\n * Clears all items from cart on user confirmation.\n */\n clearCart(): void {\n const dialogRef = this.openClearDialog();\n dialogRef.afterClosed().pipe(takeUntil(this.ngUnsubscribe$)).subscribe(result => {\n result && this.cartService.clearCart();\n this.matomoService.clearCart();\n });\n }\n\n /**\n * Used on backlink to restore previous location.\n */\n backClick() {\n this.location.back();\n }\n\n /**\n * Unsubscribe from all subscriptions.\n */\n ngOnDestroy(): void {\n this.ngUnsubscribe$.next();\n this.ngUnsubscribe$.complete();\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TextInfoComponent} from './text-info.component';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [TextInfoComponent],\n exports: [\n TextInfoComponent\n ]\n})\nexport class TextInfoModule {\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {RouterModule} from '@angular/router';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport {CartProviderModule} from './cart-provider/cart-provider.module';\nimport {CartComponent} from './cart.component';\nimport {CartItemComponent} from './cart-item/cart-item.component';\nimport {ClearCartDialogComponent} from './clear-cart-dialog/clear-cart-dialog.component';\nimport {RemoveCartItemDialogComponent} from './remove-cart-item-dialog/remove-cart-item-dialog.component';\nimport {PriceScaleModule} from '../price-scale/price-scale.module';\nimport {TotalsModule} from '../totals/totals.module';\nimport {TextInfoModule} from '../../../shared/text-info/text-info.module';\nimport {AddToCartDialogComponent} from './add-to-cart-dialog/add-to-cart-dialog.component';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {SafehtmlModule} from '../../../shared/safehtml/safehtml.module';\n\nexport const routes = [\n {path: '', component: CartComponent, pathMatch: 'full'}\n];\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule.forChild(routes),\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n TotalsModule,\n MatTooltipModule,\n PriceScaleModule,\n CartProviderModule,\n TextInfoModule,\n MatIconModule,\n TranslateModule,\n SafehtmlModule\n ],\n declarations: [\n CartComponent,\n AddToCartDialogComponent,\n RemoveCartItemDialogComponent,\n ClearCartDialogComponent,\n CartItemComponent\n ],\n entryComponents: [\n RemoveCartItemDialogComponent,\n ClearCartDialogComponent,\n CartItemComponent\n ]\n})\nexport class CartModule {\n static routes = routes;\n}\n"]}