{"version":3,"sources":["./src/app/app.component.html","./src/app/components/demo/demo.component.html","./src/app/components/main/main.component.html","./src/app/components/pages/cart/cart.component.html","./src/app/components/pages/checkout/checkout.component.html","./src/app/components/pages/thanks/thanks.component.html","./src/app/components/shared/banner-promotion/banner-promotion.component.html","./src/app/components/shared/banners-four/banners-four.component.html","./src/app/components/shared/banners/banners.component.html","./src/app/components/shared/blog-section/blog-section.component.html","./src/app/components/shared/categories-menu/categories-menu.component.html","./src/app/components/shared/categories-section/categories-section.component.html","./src/app/components/shared/footer-two/footer-two.component.html","./src/app/components/shared/footer/footer.component.html","./src/app/components/shared/header-four/header-four.component.html","./src/app/components/shared/header-three/header-three.component.html","./src/app/components/shared/header-two/header-two.component.html","./src/app/components/shared/header/header.component.html","./src/app/components/shared/menu/menu.component.html","./src/app/components/shared/shopping-widgets/shopping-widgets.component.html","./src/app/components/shared/sidebar/sidebar.component.html","./src/app/components/shop/home-five/home-five.component.html","./src/app/components/shop/home-four/home-four.component.html","./src/app/components/shop/home-three/home-three.component.html","./src/app/components/shop/home-three/product-carousel-three/product-carousel-three.component.html","./src/app/components/shop/home-two/home-two.component.html","./src/app/components/shop/home-two/product-carousel-two/product-carousel-two.component.html","./src/app/components/shop/home/home.component.html","./src/app/components/shop/home/product-carousel/product-carousel.component.html","./src/app/components/shop/main-carousel/main-carousel.component.html","./src/app/components/shop/products/price/price.component.html","./src/app/components/shop/products/product-category/product-category.component.html","./src/app/components/shop/products/product-details/product-details.component.html","./src/app/components/shop/products/product-details/product-zoom/product-zoom.component.html","./src/app/components/shop/products/product-dialog/product-dialog.component.html","./src/app/components/shop/products/product-left-sidebar/product-left-sidebar.component.html","./src/app/components/shop/products/product-search/product-search.component.html","./src/app/components/shop/products/product-subcategory/product-subcategory.component.html","./src/app/components/shop/products/product-variant/product-variant.component.html","./src/app/components/shop/products/product-vertical/product-vertical.component.html","./src/app/components/shop/products/product/product.component.html","./src/app/components/shop/products/products.component.html","./src/app/components/shop/widgets/brands/brands.component.html","./src/app/components/shop/widgets/categories/categories.component.html","./src/app/components/shop/widgets/popular-products/popular-products.component.html","./node_modules/tslib/tslib.es6.js","./src/$_lazy_route_resource lazy namespace object","./src/app/app-routing.module.ts","./src/app/app.component.scss","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/components/demo/demo.component.scss","./src/app/components/demo/demo.component.ts","./src/app/components/main/main.component.sass","./src/app/components/main/main.component.ts","./src/app/components/pages/cart/cart.component.scss","./src/app/components/pages/cart/cart.component.ts","./src/app/components/pages/checkout/checkout.component.sass","./src/app/components/pages/checkout/checkout.component.ts","./src/app/components/pages/thanks/thanks.component.sass","./src/app/components/pages/thanks/thanks.component.ts","./src/app/components/shared/banner-promotion/banner-promotion.component.sass","./src/app/components/shared/banner-promotion/banner-promotion.component.ts","./src/app/components/shared/banners-four/banners-four.component.sass","./src/app/components/shared/banners-four/banners-four.component.ts","./src/app/components/shared/banners/banners.component.sass","./src/app/components/shared/banners/banners.component.ts","./src/app/components/shared/blog-section/blog-section.component.sass","./src/app/components/shared/blog-section/blog-section.component.ts","./src/app/components/shared/categories-menu/categories-menu.component.sass","./src/app/components/shared/categories-menu/categories-menu.component.ts","./src/app/components/shared/categories-section/categories-section.component.sass","./src/app/components/shared/categories-section/categories-section.component.ts","./src/app/components/shared/footer-two/footer-two.component.sass","./src/app/components/shared/footer-two/footer-two.component.ts","./src/app/components/shared/footer/footer.component.sass","./src/app/components/shared/footer/footer.component.ts","./src/app/components/shared/header-four/header-four.component.sass","./src/app/components/shared/header-four/header-four.component.ts","./src/app/components/shared/header-three/header-three.component.sass","./src/app/components/shared/header-three/header-three.component.ts","./src/app/components/shared/header-two/header-two.component.sass","./src/app/components/shared/header-two/header-two.component.ts","./src/app/components/shared/header/header.component.sass","./src/app/components/shared/header/header.component.ts","./src/app/components/shared/menu/menu.component.sass","./src/app/components/shared/menu/menu.component.ts","./src/app/components/shared/pipes/order-by.pipe.ts","./src/app/components/shared/services/cart.service.ts","./src/app/components/shared/services/product.service.ts","./src/app/components/shared/services/wishlist.service.ts","./src/app/components/shared/shared.module.ts","./src/app/components/shared/shopping-widgets/shopping-widgets.component.sass","./src/app/components/shared/shopping-widgets/shopping-widgets.component.ts","./src/app/components/shared/sidebar/sidebar-menu.service.ts","./src/app/components/shared/sidebar/sidebar.component.scss","./src/app/components/shared/sidebar/sidebar.component.ts","./src/app/components/shop/home-five/home-five.component.sass","./src/app/components/shop/home-five/home-five.component.ts","./src/app/components/shop/home-four/home-four.component.sass","./src/app/components/shop/home-four/home-four.component.ts","./src/app/components/shop/home-three/home-three.component.sass","./src/app/components/shop/home-three/home-three.component.ts","./src/app/components/shop/home-three/product-carousel-three/product-carousel-three.component.sass","./src/app/components/shop/home-three/product-carousel-three/product-carousel-three.component.ts","./src/app/components/shop/home-two/home-two.component.sass","./src/app/components/shop/home-two/home-two.component.ts","./src/app/components/shop/home-two/product-carousel-two/product-carousel-two.component.sass","./src/app/components/shop/home-two/product-carousel-two/product-carousel-two.component.ts","./src/app/components/shop/home/home.component.sass","./src/app/components/shop/home/home.component.ts","./src/app/components/shop/home/product-carousel/product-carousel.component.sass","./src/app/components/shop/home/product-carousel/product-carousel.component.ts","./src/app/components/shop/main-carousel/main-carousel.component.sass","./src/app/components/shop/main-carousel/main-carousel.component.ts","./src/app/components/shop/products/price/price.component.sass","./src/app/components/shop/products/price/price.component.ts","./src/app/components/shop/products/product-category/product-category.component.sass","./src/app/components/shop/products/product-category/product-category.component.ts","./src/app/components/shop/products/product-details/product-details.component.scss","./src/app/components/shop/products/product-details/product-details.component.ts","./src/app/components/shop/products/product-details/product-zoom/product-zoom.component.sass","./src/app/components/shop/products/product-details/product-zoom/product-zoom.component.ts","./src/app/components/shop/products/product-dialog/product-dialog.component.sass","./src/app/components/shop/products/product-dialog/product-dialog.component.ts","./src/app/components/shop/products/product-left-sidebar/product-left-sidebar.component.scss","./src/app/components/shop/products/product-left-sidebar/product-left-sidebar.component.ts","./src/app/components/shop/products/product-search/product-search.component.sass","./src/app/components/shop/products/product-search/product-search.component.ts","./src/app/components/shop/products/product-subcategory/product-subcategory.component.sass","./src/app/components/shop/products/product-subcategory/product-subcategory.component.ts","./src/app/components/shop/products/product-variant/product-variant.component.sass","./src/app/components/shop/products/product-variant/product-variant.component.ts","./src/app/components/shop/products/product-vertical/product-vertical.component.sass","./src/app/components/shop/products/product-vertical/product-vertical.component.ts","./src/app/components/shop/products/product/product.component.sass","./src/app/components/shop/products/product/product.component.ts","./src/app/components/shop/products/products.component.sass","./src/app/components/shop/products/products.component.ts","./src/app/components/shop/shop-routing.module.ts","./src/app/components/shop/shop.module.ts","./src/app/components/shop/widgets/brands/brands.component.sass","./src/app/components/shop/widgets/brands/brands.component.ts","./src/app/components/shop/widgets/categories/categories.component.sass","./src/app/components/shop/widgets/categories/categories.component.ts","./src/app/components/shop/widgets/popular-products/popular-products.component.sass","./src/app/components/shop/widgets/popular-products/popular-products.component.ts","./src/app/modals/product.model.ts","./src/app/services/auth.service.ts","./src/app/services/cart.service.ts","./src/app/services/category.service.ts","./src/app/services/network.service.ts","./src/app/services/offline-manager.service.ts","./src/app/services/product.service.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["export default \"\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n

Laden...

\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\\"\\\"
\\r\\n
\\r\\n

POWERFUL
Angular Material
Ecommerce Theme

\\r\\n
\\r\\n
    \\r\\n
  • checkQuality check by Envato
  • \\r\\n
  • checkLifetime regular updates
  • \\r\\n
  • check6 months free support
  • \\r\\n
  • checkFull access to all files included in the package
  • \\r\\n
\\r\\n
\\r\\n Buy Now\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Main demo

\\r\\n

Check this beautiful demo with 5 different home pages

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

HOME 1

\\r\\n
\\r\\n
\\r\\n VIEW DEMO\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

HOME 2

\\r\\n
\\r\\n
\\r\\n VIEW DEMO\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

HOME 3

\\r\\n
\\r\\n
\\r\\n VIEW DEMO\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

HOME 4

\\r\\n
\\r\\n
\\r\\n VIEW DEMO\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

HOME 5

\\r\\n
\\r\\n
\\r\\n VIEW DEMO\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Check out the new demos

\\r\\n

More new templates will come up soon... Stay tuned!

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

INDUSTRIAL

\\r\\n
\\r\\n
\\r\\n VIEW DEMO\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

FOOD

\\r\\n
\\r\\n
\\r\\n VIEW DEMO\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

FURNITURE

\\r\\n COMING SOON\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Main Features

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

Angular app

\\r\\n

Very powerfull and modern front-end Angular ecommerce app for your store market.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

Angular Material

\\r\\n

Made with Angular Material UI component library specialized for Angular apps.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

PSD files included for all layouts

\\r\\n

We provide layered organized psd files for all layouts (for those who want to photoshop).

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

SASS support

\\r\\n

The theme is made with sass styling.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

Angular Flex-Layout

\\r\\n

Fast & flexible Flexbox layout library for building a layout structure.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

Ngx-spinner

\\r\\n

Angular spinner implemented..

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

Product Compare

\\r\\n

We have implemented on product compare component.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

Google Fonts

\\r\\n

The app uses regular google fonts

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Unlimited color combinations

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Lifetime License

\\r\\n
    \\r\\n
  • checkQuality check by Envato
  • \\r\\n
  • checkLifetime regular updates
  • \\r\\n
  • check6 months free support
  • \\r\\n
  • checkFull access to all files included in the package
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

If you like Sophia app - Please rate us

\\r\\n
\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Copyrights © 2020 by Lamarena. All Rights Reserved.

\\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\"","export default \" \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Winkelmand

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
ProductPrijsAantalSubtotaal
\\r\\n \\r\\n \\r\\n \\\"\\\"\\r\\n {{ item.sDescription1 }}{{item.curNetPriceInc | currency:'EUR':number:'':'nl':true}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
{{item.curNetPriceInc | currency:'EUR':number:'':'nl':true}}
\\r\\n\\r\\n
\\r\\n
\\r\\n

Winkelmand-totalen

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Totaal {{orderprice?.curTotIncl | currency:'EUR':number:'':'nl':true}}
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\"","export default \" \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

Afrekenen

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Gegevens\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Bedrijfsgegevens\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n Factuur gegevens\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Opmerkingen\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n

Jouw bestelling

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ProductSubtotaal
\\r\\n {{ item.sDescription1 }} x {{ item.nAmount }} {{item.curNetPriceInc | currency:'EUR':number:'':'nl':true}}
Subtotaal {{orderprice?.curTotIncl | currency:'EUR':number:'':'nl':true}}
Totaal {{orderprice?.curTotIncl | currency:'EUR':number:'':'nl':true}}
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n\"","export default \" \\n
\\n
\\n
\\n

\\n Bedankt voor uw bestelling!\\n

\\n

\\n Uw bestelling met Ordernummer: {{order}} is geplaatst en wordt momenteel verwerkt. U zal een email ontvangen met de details van de bestelling.\\n \\n

\\n \\n \\n
\\n
\\n

\\n Helaas!\\n

\\n

\\n Uw bestelling met Ordernummer: {{order}} is niet betaald. \\n

\\n \\n \\n
\\n
\\n

\\n Helaas!\\n

\\n

\\n Uw bestelling met Ordernummer: {{order}} is niet betaald. \\n

\\n \\n \\n
\\n
\\n
\"","export default \"
\\r\\n \\\"\\\"\\r\\n
\\r\\n\"","export default \"
0\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{getBanner(1).title}}

\\r\\n

{{getBanner(1).subtitle}}

\\r\\n Shop Now\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{getBanner(2).title}}

\\r\\n

{{getBanner(2).subtitle}}

\\r\\n Shop Now\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{getBanner(2).title}}

\\r\\n

{{getBanner(2).subtitle}}

\\r\\n Shop Now\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n
0\\\">\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{getBanner(0).title}}

\\r\\n

{{getBanner(0).subtitle}}

\\r\\n Shop Now\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{getBanner(1).title}}

\\r\\n

{{getBanner(1).subtitle}}

\\r\\n Shop Now\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{getBanner(2).title}}

\\r\\n

{{getBanner(2).subtitle}}

\\r\\n Shop Now\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{getBanner(3).title}}

\\r\\n

{{getBanner(3).subtitle}}

\\r\\n $66.99\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
17
June
\\r\\n

How to improve your market

\\r\\n

Great pleasure to take a trivial example, which of us undertakes laborious.

\\r\\n See More\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
17
June
\\r\\n

How to improve your market

\\r\\n

Great pleasure to take a trivial example, which of us undertakes laborious.

\\r\\n See More\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
17
June
\\r\\n

How to improve your market

\\r\\n

Great pleasure to take a trivial example, which of us undertakes laborious.

\\r\\n See More\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\n \\n
\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

Headphones

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

Laptops

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

Smart Phones

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

Cameras

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

Tv & Audio

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

Watches

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"\\n\"","export default \" \\r\\n \"","export default \"\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n call\\n
\\n
\\n

Helpline:

\\n 02(981)336 111\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n\\n\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n call\\r\\n
\\r\\n
\\r\\n

Helpline:

\\r\\n 02(981)336 111\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

CHECK CARD

\\r\\n

{{shoppingCartItems.length}} ITEM

\\r\\n
\\r\\n \\r\\n

Please add product

\\r\\n\\r\\n

\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

{{item.product.name}}

\\r\\n {{item.quantity}} X {{item.product.price}}\\r\\n
\\r\\n
\\r\\n \\r\\n delete\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Subtotal:

\\r\\n {{ getTotal() | async | currency:productService?.currency:'symbol' }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n {{item.displayName}}\\r\\n \\r\\n \\r\\n \\r\\n expand_more\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\"","export default \"
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\\"\\\"
\\n
\\n

{{bn.title}}

\\n

{{bn.subtitle}}.

\\n Shop Now\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n\\n \\n\\n
\\n
\\n

POPULAR ITEMS

\\n \\n\\n \\n\\n \\n\\n\\n \\n\\n \\n\\n \\n\\n \\n\\n \\n\\n \\n\\n \\n\\n \\n\\n\\n
\\n\\n
\\n
\\n
\\n
\\n

BROWSE

\\n
\\n\\n \\n
\\n
\\n\\n
\\n
\\n\\n \\n\\n
\\n
\\n
\\n
\\n\\n \\n\\n
\\n
\\n
\\n\\n\\n\\n\\n\"","export default \"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n card_giftcard\\r\\n
\\r\\n

BONUS PLUS

\\r\\n Get a bonus plus for buying more that three products\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n local_shipping\\r\\n
\\r\\n

FREE SHIPPING

\\r\\n Free shipping on all orders over $99\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n monetization_on\\r\\n
\\r\\n

MONEY BACK GUARANTEE

\\r\\n 100% money back guarantee\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n history\\r\\n
\\r\\n

ONLINE SUPPORT 24/7

\\r\\n Call us: 02 3555 65454 55\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

POPULAR ITEMS

\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

FEATURED ITEMS

\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Latest From Our Blog

\\r\\n

Business analytics (BA) is the practice of iterative, methodical exploration of an
\\r\\n organization's data with emphasis on statistical analysis.

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\\"\\\"
\\r\\n
\\r\\n

{{bn.title}}

\\r\\n

{{bn.subtitle}}.

\\r\\n Shop Now\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
TOP CATEGORIES
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

BRANDS

\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n BIG SALLE\\r\\n \\r\\n \\r\\n DO NOT MISS IT!\\r\\n \\r\\n 60\\r\\n
\\r\\n %off\\r\\n
\\r\\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur nects.

\\r\\n
\\r\\n
\\r\\n NEWSLETTER\\r\\n

Get all the latest information on Events, Sales and Offers.

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n card_giftcard\\r\\n
\\r\\n

BONUS PLUS

\\r\\n Get a bonus plus for buying more that three products\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n local_shipping\\r\\n
\\r\\n

FREE SHIPPING

\\r\\n Free shipping on all orders over $99\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n monetization_on\\r\\n
\\r\\n

MONEY BACK GUARANTEE

\\r\\n 100% money back guarantee\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n history\\r\\n
\\r\\n

ONLINE SUPPORT 24/7

\\r\\n Call us: 02 3555 65454 55\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

POPULAR ITEMS

\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n CHECK THE PURE QUALITY\\r\\n EXCLUSIVE CLASS\\r\\n Shop Now\\r\\n
\\r\\n\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n {{product.category}}\\r\\n
\\r\\n

{{product.name}}

\\r\\n
\\r\\n
\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n
\\r\\n
\\r\\n

${{product.price | number : '1.2-2'}}

\\r\\n shopping_cart\\r\\n
\\r\\n
\\r\\n favorite_border\\r\\n remove_red_eye\\r\\n cached\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
TOP CATEGORIES
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n card_giftcard\\r\\n
\\r\\n

BONUS PLUS

\\r\\n Get a bonus plus for buying more that three products\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n local_shipping\\r\\n
\\r\\n

FREE SHIPPING

\\r\\n Free shipping on all orders over $99\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n monetization_on\\r\\n
\\r\\n

MONEY BACK GUARANTEE

\\r\\n 100% money back guarantee\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n history\\r\\n
\\r\\n

ONLINE SUPPORT 24/7

\\r\\n Call us: 02 3555 65454 55\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n {{product.category}}\\r\\n
\\r\\n

{{product.name}}

\\r\\n
\\r\\n
\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n
\\r\\n
\\r\\n

${{product.price | number : '1.2-2'}}

\\r\\n shopping_cart\\r\\n
\\r\\n
\\r\\n favorite_border\\r\\n remove_red_eye\\r\\n cached\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n card_giftcard\\r\\n
\\r\\n

BONUS PLUS

\\r\\n Get a bonus plus for buying more that three products\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n local_shipping\\r\\n
\\r\\n

FREE SHIPPING

\\r\\n Free shipping on all orders over $99\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n monetization_on\\r\\n
\\r\\n

MONEY BACK GUARANTEE

\\r\\n 100% money back guarantee\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n history\\r\\n
\\r\\n

ONLINE SUPPORT 24/7

\\r\\n Call us: 02 3555 65454 55\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n {{product.category}}\\r\\n
\\r\\n

{{product.name}}

\\r\\n
\\r\\n
\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n
\\r\\n
\\r\\n

${{product.price | number : '1.2-2'}}

\\r\\n shopping_cart\\r\\n
\\r\\n
\\r\\n favorite_border\\r\\n remove_red_eye\\r\\n cached\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

{{slide.title}}

\\r\\n

{{slide.subtitle}}

\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n From: ${{priceFrom}}\\r\\n To: ${{priceTo}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","export default \"
\\n \\n\\n
\\n

{{group?.sGroupDesc}}

\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
{{ item?.sDescription1 }} 520204
\\n

{{item.stPrice.curNetPriceInc | currency:'EUR':number:'':'nl':true}} INCL. BTW

\\n

{{item.stPrice.curNetPrice | currency:'EUR':number:'':'nl':true}} EXCL. BTW

\\n

{{item.stPrice.curNetPrice | currency:'EUR':number:'':'nl':true}} Bruto Prijs

\\n
\\n
\\n\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n

{{group?.sGroupDesc}}

\\n
\\n \\n \\n
\\n
\\n \\n
    \\n \\n
  • \\n \\n
    \\n \\\"Generic\\n\\n
    \\n
    {{ item?.sDescription1 }}
    \\n
    \\n
    {{item.stPrice.curNetPriceInc | currency:'EUR':number:'':'nl':true}} INCL. BTW
    \\n
    {{item.stPrice.curNetPrice | currency:'EUR':number:'':'nl':true}} EXCL. BTW
    \\n
    {{item.stPrice.curNetPrice | currency:'EUR':number:'':'nl':true}} Bruto Prijs
    \\n
      \\n
    • \\n
    • \\n
    • \\n
    • \\n
    • \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    ArtikelnummerArtikelomschrijvingPrijs per {{item.sPricePer}}
    {{row.sArticleCode}}{{row.sDescription}}{{row.curNetPriceInc | currency:'EUR':number:'':'nl':true}}{{row.curNetPrice | currency:'EUR':number:'':'nl':true}}{{row.curNetPrice | currency:'EUR':number:'':'nl':true}}
    \\n
  • \\n
\\n
\\n
\\n
\\n\\n\\n\"","export default \"
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\\"Random\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

{{ item?.sDescription1 }}

\\r\\n

{{ item?.stPrice.curNetPriceInc | currency:'EUR':number:'':'nl':true}} INCL. BTW

\\r\\n

{{ item?.stPrice.curNetPrice | currency:'EUR':number:'':'nl':true}} EXCL. BTW

\\r\\n

{{ item?.stPrice.curGrossPrice | currency:'EUR':number:'':'nl':true}} Bruto Prijs

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n -\\r\\n
\\r\\n \\r\\n
\\r\\n +\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Voeg Toe\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ item?.sDescription1 }}

\\r\\n

{{ item?.sDescription2 }}

\\r\\n

Beschrijving

\\r\\n
    \\r\\n
  • \\r\\n
\\r\\n

Kenmerken

\\r\\n
    \\r\\n \\r\\n
  • {{item?.sPropDesc}}: {{item?.sPropValue}} {{item?.sPropUnit}}
  • \\r\\n
    \\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ArtikelCode{{item?.sArticleCode}}
Merk{{item?.sArticleBrand}}
GTIN Code{{item?.sGTIN}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ArtikelnummerArtikelomschrijvingPrijs per {{item.sPricePer}}
{{item.sArticleCode}}{{item.sDescription1}}{{item.curNetPriceInc | currency:'EUR':number:'':'nl':true}}{{item.curNetPrice | currency:'EUR':number:'':'nl':true}}{{item.curNetPrice | currency:'EUR':number:'':'nl':true}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{product.name}}

\\r\\n

{{product.salePrice | currency:productsService?.currency:'symbol'}}{{product.discount}}% off

\\r\\n

{{product.price | currency:productsService?.currency:'symbol' }}

\\r\\n
\\r\\n

Product details

\\r\\n

{{product.description}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Avalibility: \\r\\n In Stock\\r\\n product.stock\\\">Out of Stock\\r\\n

\\r\\n
\\r\\n
\\r\\n Quantity\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \" \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n

Productgroepen

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n

Productgroepen

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
    \\r\\n \\r\\n
  • \\r\\n \\r\\n
    \\r\\n \\\"Generic\\r\\n\\r\\n
    \\r\\n
    {{ category.sGroupDesc }}
    \\r\\n
    \\r\\n \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\"","export default \"

product-search works!

\\n\"","export default \" \\n
\\n \\n \\n\\n
\\n

Productgroepen

\\n
\\n \\n \\n
\\n \\n \\n
\\n \\n
\\n

Productgroepen

\\n
\\n \\n \\n
\\n
\\n \\n
    \\n \\n
  • \\n \\n
    \\n \\\"Generic\\n\\n
    \\n
    {{ category.sGroupDesc }}
    \\n
    \\n \\n
      \\n
    • \\n
    • \\n
    • \\n
    • \\n
    • \\n
    \\n
    \\n
    \\n
    \\n
  • \\n
\\n
\\n
\\n
\\n \\n\\n\"","export default \"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
ArtikelnummerArtikelomschrijvingPrijs per {{item.sPricePer}}
{{row.sArticleCode}}{{row.sDescription}}{{row.curNetPriceInc | currency:'EUR':number:'':'nl':true}}{{row.curNetPrice | currency:'EUR':number:'':'nl':true}}{{row.curNetPrice | currency:'EUR':number:'':'nl':true}}
\\n
\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Featured Products

\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n \\\"\\\" \\r\\n
    \\r\\n
    \\r\\n {{product.name}}\\r\\n
    \\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n
    \\r\\n

    {{product.price | number : '1.2-2' }}

    \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Top Selling Products

\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n \\\"\\\" \\r\\n
    \\r\\n
    \\r\\n {{product.name}}\\r\\n
    \\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n
    \\r\\n

    {{product.price | number : '1.2-2'}}

    \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Hot Offer

\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n \\\"\\\" \\r\\n
    \\r\\n
    \\r\\n {{product.name}}\\r\\n
    \\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n
    \\r\\n

    {{product.price | number : '1.2-2'}}

    \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n {{product.category}}\\r\\n
\\r\\n

{{product.name}}

\\r\\n
\\r\\n
\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n
\\r\\n
\\r\\n

{{product.price | currency:productsService?.currency:'symbol'}}

\\r\\n shopping_cart\\r\\n
\\r\\n
\\r\\n favorite_border\\r\\n remove_red_eye\\r\\n cached\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"

\\r\\n products works!\\r\\n

\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n {{brand}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n
\"","export default \"\\r\\n
\\r\\n
\\r\\n

POPULAR PRODUCTS

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
{{product.name}}
\\r\\n
\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n star_rate\\r\\n
\\r\\n

{{product.price | currency:productsService?.currency:'symbol'}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\r\nimport {RouterModule, Routes} from '@angular/router';\r\nimport { MainComponent } from './components/main/main.component';\r\nimport { HomeComponent } from './components/shop/home/home.component';\r\nimport { DemoComponent } from './components/demo/demo.component';\r\nimport { CartComponent } from './components/pages/cart/cart.component';\r\nimport { CheckoutComponent } from './components/pages/checkout/checkout.component';\r\n\r\n\r\nconst appRoutes: Routes = [\r\n {\r\n path: '',\r\n redirectTo: 'webshop',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: '',\r\n component: MainComponent,\r\n children: [\r\n {\r\n path: 'webshop',\r\n loadChildren: () => import('./components/shop/shop.module').then(m => m.ShopModule)\r\n },\r\n {\r\n path: 'pages',\r\n loadChildren: () => import('./components/pages/pages.module').then(m => m.PagesModule)\r\n\r\n },\r\n {\r\n path: 'blog',\r\n loadChildren: () => import('./components/blog/blog.module').then(m => m.BlogModule)\r\n },\r\n ]\r\n },\r\n { path: 'cart', component: CartComponent },\r\n { path: 'checkout', component: CheckoutComponent },\r\n {\r\n path: '**',\r\n redirectTo: 'webshop'\r\n }\r\n];\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n RouterModule.forRoot(appRoutes)\r\n ],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","export default \".login {\\n margin-bottom: 5px;\\n}\\n\\n.dropdown-menu {\\n width: 300px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQzpcXGdpdHByb2plY3RlblxccmVkc29uLXBvcnRhbC9zcmNcXGFwcFxcYXBwLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9hcHAuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxrQkFBQTtBQ0NKOztBRENBO0VBQ0ksdUJBQUE7QUNFSiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5sb2dpbiB7XG4gICAgbWFyZ2luLWJvdHRvbTo1cHg7XG59XG4uZHJvcGRvd24tbWVudSB7XG4gICAgd2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XG59IiwiLmxvZ2luIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIHdpZHRoOiAzMDBweCAhaW1wb3J0YW50O1xufSJdfQ== */\"","import { Component } from '@angular/core';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { AuthService } from './services/auth.service';\r\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\n\r\n\r\ndeclare var navbar: any;\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n\r\n title = 'Redson';\r\n form: FormGroup;\r\n email: any;\r\n password: any;\r\n user:any;\r\n fullname;\r\n checked: any;\r\n searchTerm: string = '';\r\n constructor(private router: Router, private spinner: NgxSpinnerService, public authService: AuthService,private formBuilder: FormBuilder) {}\r\n\r\n\r\n ngOnInit() {\r\n /** spinner starts on init */\r\n this.form = this.formBuilder.group({\r\n email: new FormControl('', Validators.compose([\r\n Validators.required,\r\n // Validators.pattern('^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$')\r\n ])),\r\n password: new FormControl('', Validators.compose([\r\n Validators.minLength(3),\r\n Validators.required\r\n ])),\r\n });\r\n window.localStorage.setItem('check', 'false');\r\n this.checked = window.localStorage.getItem('check');\r\n // console.log('App version MSG', this.appV.getVersionNumber());\r\n // this.appversion = this.appV.getVersionNumber(); \r\n this.email = window.localStorage.getItem('email');\r\n this.password = window.localStorage.getItem('password');\r\n // this.form.get('email').setValue(this.email, {\r\n // onlyself: true\r\n // })\r\n // this.form.get('password').setValue(this.password, {\r\n // onlyself: true\r\n // })\r\n console.log(this.form.value.email)\r\n\r\n window.scroll(0,0);\r\n this.fullname = window.localStorage.getItem('FullName');\r\n this.navbar();\r\n this.authService.SwitchloginNative();\r\n }\r\n\r\n onSearch(event: any = {}) {\r\n const query = event.target.value;\r\n const url = this.router.url.split('?')[0];\r\n this.router.navigate(['webshop/search/' + query]);\r\n }\r\n\r\n navbar(){\r\n new navbar()\r\n }\r\n\r\n onActivate(event) {\r\n window.scroll(0,0);\r\n }\r\n\r\n login(value) {\r\n let me=this;\r\n let loginParams = {\r\n \"sUser\":this.form.value.email,\r\n \"sPass\":this.form.value.password,\r\n // \"sUser\":\"12345PALS\",\r\n // \"sPass\":\"pals\",\r\n // \"sUser\":\"12345BOER\",\r\n // \"sPass\":\"f1BawK37B2\",\r\n // \"sUser\":\"12345MLAKKE\",\r\n // \"sPass\":\"Ivana003\",\r\n \"iUsId\": 0, \r\n \"iPBMMode\" : 0\r\n }\r\n this.spinner.show(); \r\n window.localStorage.setItem('username', this.form.value.email);\r\n window.localStorage.setItem('password2', this.form.value.password);\r\n console.log(this.email);\r\n console.log(loginParams);\r\n this.authService.login(loginParams).then(res => {\r\n console.log(res)\r\n if(res){\r\n this.spinner.hide();\r\n setTimeout(() => {\r\n if(this.authService.CheckLoginUser()){\r\n if (this.authService.bAllowShop === false) {\r\n // this.router.navigate(['/1/pbm-list']);\r\n } else {\r\n console.log(res);\r\n // if(this.authService.iUserType === 5){\r\n // this.authService.storeSalesUserCredentials(res);\r\n // }\r\n }\r\n } else {\r\n // this.router.navigate(['/']);\r\n // console.log(res);\r\n // console.log('Ordernumber check', this.authService.OrderNumber)\r\n // console.log('Continue with the old order')\r\n // this.navigateTo('/1//home');\r\n }\r\n }, 2000);\r\n}\r\n });\r\n console.log(this.authService.iPbmMode);\r\n\r\n \r\n }\r\n\r\n onLogout() {\r\n this.authService.loginOff().subscribe(res => {\r\n console.log('logout', res)\r\n if (this.authService.iPbmMode === 0) {\r\n // this.navigateTo('/1/home');\r\n this.authService.destroyUserCredentials();\r\n this.Guestlogin();\r\n } else {\r\n console.log(res);\r\n this.authService.destroyUserCredentials();\r\n this.Guestlogin();\r\n // this.navigateTo('/1/home');\r\n }\r\n });\r\n console.log(this.authService.iPbmMode);\r\n\r\n }\r\n\r\n Guestlogin() {\r\n\r\n // let loader = this.loadingCtrl.create({\r\n // content: 'Authenticating..'\r\n // });\r\n // loader.present();\r\n let me=this;\r\n let loginParams = null\r\n // console.log(this.email);\r\n console.log('empty2', loginParams);\r\n this.authService.Guestlogin().then(res => {\r\n console.log(res)\r\n // this.navigateTo('/1//home');\r\n });\r\n\r\n console.log(this.authService.iPbmMode);\r\n \r\n // }\r\n \r\n }\r\n\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AppComponent } from './app.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { DemoComponent } from './components/demo/demo.component';\r\nimport { NgxSpinnerModule } from \"ngx-spinner\";\r\nimport { NgxImgZoomModule } from 'ngx-img-zoom';\r\nimport { CartComponent } from './components/pages/cart/cart.component';\r\nimport { CheckoutComponent } from './components/pages/checkout/checkout.component';\r\n\r\nimport { MainComponent } from './components/main/main.component';\r\nimport { HashLocationStrategy, LocationStrategy } from '@angular/common';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { ShopModule } from './components/shop/shop.module';\r\nimport { SharedModule } from './components/shared/shared.module';\r\nimport localeNl from '@angular/common/locales/nl';\r\n\r\n\r\n\r\nregisterLocaleData(localeNl, 'nl');\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n DemoComponent,\r\n MainComponent,\r\n CartComponent,\r\n CheckoutComponent,\r\n\r\n ],\r\n imports: [\r\n NgxSpinnerModule,\r\n BrowserModule,\r\n SharedModule,\r\n ShopModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n AppRoutingModule,\r\n NgxImgZoomModule\r\n ],\r\n providers: [\r\n {provide: LocationStrategy, useClass: HashLocationStrategy}\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","export default \".demo-wrapper .demo-header {\\n background-image: url('demo-header-bg.jpg');\\n background-size: cover;\\n background-position: center;\\n padding: 116px 0 116px 0;\\n margin: 60px;\\n}\\n.demo-wrapper .demo-header .left-panel {\\n width: 100%;\\n height: 100%;\\n text-align: center;\\n}\\n.demo-wrapper .demo-header .left-panel .logo {\\n margin-bottom: 20px;\\n}\\n.demo-wrapper .demo-header .left-panel .text-intro h1 {\\n text-transform: capitalize;\\n color: #ffc111;\\n line-height: 58px;\\n}\\n.demo-wrapper .demo-header .left-panel .text-intro h1 .powerful {\\n font-size: 37px;\\n font-weight: 300;\\n letter-spacing: 7px;\\n color: #fff;\\n}\\n.demo-wrapper .demo-header .left-panel .text-intro h1 .theme {\\n font-size: 38px;\\n font-weight: 300;\\n color: #fff;\\n}\\n.demo-wrapper .demo-header .left-panel .button .ped-btn {\\n border: 1px solid #ffc111;\\n color: #333;\\n cursor: pointer;\\n display: inline-block;\\n font-size: 14px;\\n font-weight: 700;\\n margin-top: 20px;\\n padding: 12px 10px;\\n text-align: center;\\n text-transform: uppercase;\\n -webkit-transition: all 0.4s ease 0s;\\n transition: all 0.4s ease 0s;\\n z-index: 222;\\n background: #ffc111;\\n width: 175px;\\n border-radius: 3px;\\n}\\n.demo-wrapper .demo-header .left-panel ul {\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-pack: center;\\n justify-content: center;\\n margin-top: 15px;\\n}\\n.demo-wrapper .demo-header .left-panel ul li {\\n color: #fff;\\n margin-right: 7px;\\n}\\n.demo-wrapper .demo-header .left-panel ul li i {\\n margin-right: 5px;\\n font-size: 16px;\\n}\\n.demo-wrapper .demo-header .right-panel img {\\n width: 100%;\\n height: auto;\\n}\\n.demo-wrapper .demo-showcase .title {\\n text-align: center;\\n margin-bottom: 80px;\\n}\\n.demo-wrapper .demo-showcase .title h2 {\\n font-weight: 400;\\n}\\n.demo-wrapper .demo-showcase .title p {\\n margin-top: 15px;\\n}\\n.demo-wrapper .demo-showcase .demos .item {\\n margin: 0 auto;\\n position: relative;\\n}\\n.demo-wrapper .demo-showcase .demos .item img {\\n max-width: 100%;\\n}\\n.demo-wrapper .demo-showcase .demos .item .ped-btn {\\n border: 1px solid #ffc111;\\n color: #333;\\n cursor: pointer;\\n display: inline-block;\\n font-size: 14px;\\n font-weight: 700;\\n margin: 0 auto;\\n padding: 12px 10px;\\n text-align: center;\\n text-transform: uppercase;\\n -webkit-transition: all 0.4s ease 0s;\\n transition: all 0.4s ease 0s;\\n z-index: 222;\\n background: #ffc111;\\n width: 160px;\\n border-radius: 3px;\\n position: absolute;\\n top: 47%;\\n left: 0;\\n right: 0;\\n z-index: 99999;\\n opacity: 0;\\n box-shadow: 2px 2px 24px -8px rgba(0, 0, 0, 0.59);\\n}\\n.demo-wrapper .demo-showcase .demos .item:hover .ped-btn {\\n opacity: 1;\\n}\\n.demo-wrapper .demo-showcase .demos .item.middle {\\n margin: 0 60px 40px 60px;\\n}\\n.demo-wrapper .demo-showcase .demos .item .first {\\n background: #fff none repeat scroll 0 0;\\n margin-bottom: 0;\\n height: 490px;\\n overflow: hidden;\\n position: relative;\\n width: auto;\\n z-index: 99;\\n border: 2px solid #F0F0F0;\\n}\\n.demo-wrapper .demo-showcase .demos .item .seccond {\\n margin-top: 10px;\\n display: inline-block;\\n width: 100%;\\n vertical-align: top;\\n text-align: center;\\n}\\n.demo-wrapper .demo-showcase .demos .item .seccond h4 {\\n font-weight: 600;\\n}\\n.demo-wrapper .demo-showcase .demos .item .sec {\\n margin: 0 auto !important;\\n}\\n.demo-wrapper .demo-showcase .demo-row-sec {\\n align-content: center;\\n}\\n.demo-wrapper .color-showcase .title {\\n margin-bottom: 50px;\\n}\\n.demo-wrapper .color-showcase .title h2 {\\n text-align: center;\\n}\\n.demo-wrapper .color-showcase .demos .item {\\n margin: 0 auto;\\n position: relative;\\n}\\n.demo-wrapper .color-showcase .demos .item img {\\n max-width: 100%;\\n}\\n.demo-wrapper .color-showcase .demos .item .ped-btn {\\n border: 1px solid #ffc111;\\n color: #333;\\n cursor: pointer;\\n display: inline-block;\\n font-size: 14px;\\n font-weight: 700;\\n margin: 0 auto;\\n padding: 12px 10px;\\n text-align: center;\\n text-transform: uppercase;\\n -webkit-transition: all 0.4s ease 0s;\\n transition: all 0.4s ease 0s;\\n z-index: 222;\\n background: #ffc111;\\n width: 160px;\\n border-radius: 3px;\\n position: absolute;\\n top: 47%;\\n left: 0;\\n right: 0;\\n z-index: 99999;\\n opacity: 0;\\n}\\n.demo-wrapper .color-showcase .demos .item:hover .ped-btn {\\n opacity: 1;\\n}\\n.demo-wrapper .color-showcase .demos .item.middle {\\n margin: 0 60px 40px 60px;\\n}\\n.demo-wrapper .color-showcase .demos .item .first {\\n background: #fff none repeat scroll 0 0;\\n margin-bottom: 0;\\n /* height: 490px; */\\n /* overflow: hidden; */\\n position: relative;\\n width: auto;\\n z-index: 99;\\n margin-right: 15px;\\n}\\n.demo-wrapper .color-showcase .demos .item .first img {\\n border: 1px solid #e8e8e8;\\n}\\n.demo-wrapper .color-showcase .demos .item .sec {\\n margin: 0 auto !important;\\n}\\n.demo-wrapper .color-showcase .demo-row-sec {\\n align-content: center;\\n}\\n.demo-wrapper .main-features {\\n background-color: #f6f6f6;\\n}\\n.demo-wrapper .main-features .features-wrap .title {\\n text-align: center;\\n margin-bottom: 80px;\\n}\\n.demo-wrapper .main-features .features-wrap .title h2 {\\n font-weight: 400;\\n}\\n.demo-wrapper .main-features .features-wrap .features .row {\\n margin-bottom: 50px;\\n}\\n.demo-wrapper .main-features .features-wrap .features .row .feature-item {\\n padding: 0 20px 0 0;\\n}\\n.demo-wrapper .main-features .features-wrap .features .row .feature-item .icon-box {\\n display: inline-block;\\n}\\n.demo-wrapper .main-features .features-wrap .features .row .feature-item .text-box {\\n padding: 55px 0 0 25px;\\n}\\n.demo-wrapper .main-features .features-wrap .features .row .feature-item .text-box h4 {\\n font-size: 24px;\\n font-weight: 600;\\n margin-bottom: 10px;\\n}\\n.demo-wrapper .main-features .features-wrap .features .row .feature-item .text-box p {\\n color: #333;\\n}\\n@media (max-width: 1280px) {\\n .demo-wrapper .demo-showcase .demos .item.middle {\\n margin: 0 auto;\\n }\\n .demo-wrapper .demo-showcase .demos .item {\\n margin-bottom: 50px;\\n }\\n}\\n@media (max-width: 475px) {\\n .main-features .features-wrap .features .row {\\n margin-bottom: 0px !important;\\n }\\n .main-features .features-wrap .features .row .feature-item {\\n padding: 0;\\n margin-bottom: 30px;\\n }\\n .main-features .features-wrap .features .row .feature-item .icon-box img {\\n max-width: 100px;\\n }\\n .main-features .features-wrap .features .row .feature-item .text-box {\\n padding: 0px 0 0 18px !important;\\n }\\n .main-features .features-wrap .features .row .feature-item .text-box h4 {\\n font-size: 20px !important;\\n font-weight: 600;\\n margin-bottom: 10px;\\n }\\n .main-features .features-wrap .features .row .feature-item .text-box p {\\n color: #333;\\n }\\n\\n .text-intro h1 .powerful {\\n font-size: 45px !important;\\n }\\n\\n .demo-header {\\n margin: 0 !important;\\n padding: 100px 0 100px 0 !important;\\n }\\n .demo-header .left-panel {\\n margin-bottom: 20px !important;\\n }\\n\\n .likeUs .theme-features {\\n width: 80% !important;\\n max-width: 100% !important;\\n padding: 26px !important;\\n }\\n .likeUs .title h2 {\\n font-size: 28px !important;\\n line-height: 33px !important;\\n }\\n}\\n.likeUs {\\n background-color: #f6f6f6;\\n}\\n.likeUs .theme-features {\\n margin: 0 auto;\\n max-width: 540px;\\n padding: 32px;\\n border-radius: 6px;\\n}\\n.likeUs .theme-features .mat-card .item h2 {\\n font-weight: 400;\\n margin-bottom: 10px;\\n}\\n.likeUs .theme-features .mat-card .item ul {\\n margin-top: 17px;\\n}\\n.likeUs .theme-features .mat-card .item ul li {\\n margin-bottom: 10px;\\n font-weight: 600;\\n}\\n.likeUs .theme-features .mat-card .item ul li i {\\n margin-right: 5px;\\n font-size: 16px;\\n}\\n.likeUs .title {\\n text-align: center;\\n}\\n.likeUs .title h1 {\\n text-align: center;\\n}\\n.likeUs .stars {\\n margin-top: 20px;\\n color: #ffc111;\\n}\\n.footer {\\n background: #222222;\\n}\\n.footer p {\\n color: #fff;\\n padding: 10px 0;\\n text-align: center;\\n margin-bottom: 0;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9kZW1vL0M6XFxnaXRwcm9qZWN0ZW5cXHJlZHNvbi1wb3J0YWwvc3JjXFxhcHBcXGNvbXBvbmVudHNcXGRlbW9cXGRlbW8uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudHMvZGVtby9kZW1vLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNFO0VBQ0UsMkNBQUE7RUFDQSxzQkFBQTtFQUNBLDJCQUFBO0VBQ0Esd0JBQUE7RUFDQSxZQUFBO0FDQUo7QURDSTtFQUNFLFdBQUE7RUFDRixZQUFBO0VBQ0Esa0JBQUE7QUNDSjtBREFJO0VBQ0UsbUJBQUE7QUNFTjtBRENNO0VBQ0UsMEJBQUE7RUFDQSxjQUFBO0VBQ0EsaUJBQUE7QUNDUjtBREFRO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0FDRVY7QURDUTtFQUNFLGVBQUE7RUFDTixnQkFBQTtFQUNBLFdBQUE7QUNDSjtBRElFO0VBQ0kseUJBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLHFCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7RUFDQSxvQ0FBQTtFQUFBLDRCQUFBO0VBQ0EsWUFBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0FDRk47QURLQTtFQUNFLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHdCQUFBO1VBQUEsdUJBQUE7RUFDRixnQkFBQTtBQ0hBO0FESUU7RUFDRSxXQUFBO0VBQ0EsaUJBQUE7QUNGSjtBREdJO0VBQ0UsaUJBQUE7RUFDQSxlQUFBO0FDRE47QURPTTtFQUNFLFdBQUE7RUFDQSxZQUFBO0FDTFI7QURVSTtFQUNFLGtCQUFBO0VBQ0EsbUJBQUE7QUNSTjtBRFNNO0VBQ0UsZ0JBQUE7QUNQUjtBRFNNO0VBQ0UsZ0JBQUE7QUNQUjtBRFdNO0VBQ0UsY0FBQTtFQUVBLGtCQUFBO0FD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QkFBQTtBQ3pFSjtBRDRFTztFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7QUMxRVQ7QUQ0RU87RUFDRSxnQkFBQTtBQzFFVDtBRDJFUztFQUNFLG1CQUFBO0VBQ0EsZ0JBQUE7QUN6RVg7QUQwRVc7RUFDRSxpQkFBQTtFQUNBLGVBQUE7QUN4RWI7QUQrRUU7RUFDRSxrQkFBQTtBQzdFSjtBRDhFSTtFQUNFLGtCQUFBO0FDNUVOO0FEK0VFO0VBQ0MsZ0JBQUE7RUFDQSxjQUFBO0FDN0VIO0FEZ0ZBO0VBQ0UsbUJBQUE7QUM3RUY7QUQ4RUU7RUFDRSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QUM1RUoiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2RlbW8vZGVtby5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5kZW1vLXdyYXBwZXIge1xyXG4gIC5kZW1vLWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uLy4uLy4uL3NyYy9hc3NldHMvaW1nL2RlbW8vZGVtby1oZWFkZXItYmcuanBnJyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMTE2cHggMCAxMTZweCAwO1xyXG4gICAgbWFyZ2luOiA2MHB4O1xyXG4gICAgLmxlZnQtcGFuZWwge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC5sb2dvIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIC50ZXh0LWludHJvIHtcclxuICAgICAgaDEge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgICAgIGNvbG9yOiAjZmZjMTExO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1OHB4O1xyXG4gICAgICAgIC5wb3dlcmZ1bCB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDM3cHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDdweDtcclxuICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRoZW1lIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMzhweDtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuLmJ1dHRvbiB7XHJcbiAgLnBlZC1idG4ge1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZjMTExO1xyXG4gICAgICBjb2xvcjogIzMzMztcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgcGFkZGluZzogMTJweCAxMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UgMHM7XHJcbiAgICAgIHotaW5kZXg6IDIyMjtcclxuICAgICAgYmFja2dyb3VuZDogI2ZmYzExMTtcclxuICAgICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgfVxyXG59XHJcbnVsIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5tYXJnaW4tdG9wOiAxNXB4O1xyXG4gIGxpIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA3cHg7XHJcbiAgICBpIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuICAgIH1cclxuICAgIC5yaWdodC1wYW5lbCB7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5kZW1vLXNob3djYXNlIHtcclxuICAgIC50aXRsZSB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcclxuICAgICAgaDIge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgIH1cclxuICAgICAgcCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgfVxyXG4gICAgIH1cclxuICAgIC5kZW1vcyB7XHJcbiAgICAgIC5pdGVtIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5wZWQtYnRuIHtcclxuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZjMTExO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAxMHB4O1xyXG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UgMHM7XHJcbiAgICAgICAgICAgICAgei1pbmRleDogMjIyO1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmMxMTE7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgdG9wOiA0NyU7XHJcbiAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICB6LWluZGV4OiA5OTk5OTtcclxuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMnB4IDJweCAyNHB4IC04cHggcmdiYSgwLDAsMCwwLjU5KTtcclxuLW1vei1ib3gtc2hhZG93OiAycHggMnB4IDI0cHggLThweCByZ2JhKDAsMCwwLDAuNTkpO1xyXG5ib3gtc2hhZG93OiAycHggMnB4IDI0cHggLThweCByZ2JhKDAsMCwwLDAuNTkpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIC5wZWQtYnRuIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5taWRkbGUge1xyXG4gICAgICAgICAgbWFyZ2luOiAwIDYwcHggNDBweCA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmlyc3Qge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZiBub25lIHJlcGVhdCBzY3JvbGwgMCAwO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgIGhlaWdodDogNDkwcHg7XHJcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICB6LWluZGV4OiA5OTtcclxuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNGMEYwRjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZWNjb25kIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAuc2VjIHtcclxuICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xyXG4gICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAuZGVtby1yb3ctc2VjIHtcclxuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICAuaXRlbSB7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmNvbG9yLXNob3djYXNlIHtcclxuICAgIC50aXRsZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgIGgyIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5kZW1vcyB7XHJcbiAgICAgIC5pdGVtIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5wZWQtYnRuIHtcclxuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZjMTExO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAxMHB4O1xyXG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UgMHM7XHJcbiAgICAgICAgICAgICAgei1pbmRleDogMjIyO1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmMxMTE7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgdG9wOiA0NyU7XHJcbiAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICB6LWluZGV4OiA5OTk5OTtcclxuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIC5wZWQtYnRuIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5taWRkbGUge1xyXG4gICAgICAgICAgbWFyZ2luOiAwIDYwcHggNDBweCA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmlyc3Qge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZiBub25lIHJlcGVhdCBzY3JvbGwgMCAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIC8qIGhlaWdodDogNDkwcHg7ICovXHJcbiAgICAvKiBvdmVyZmxvdzogaGlkZGVuOyAqL1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICB6LWluZGV4OiA5OTtcclxuICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuXHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U4ZThlODtcclxuICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgLnNlYyB7XHJcbiAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxuICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLmRlbW8tcm93LXNlYyB7XHJcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgLml0ZW0ge1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5tYWluLWZlYXR1cmVzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XHJcbiAgICAuZmVhdHVyZXMtd3JhcCB7XHJcbiAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xyXG4gICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZmVhdHVyZXMge1xyXG4gICAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgICAgIC5mZWF0dXJlLWl0ZW0ge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7XHJcbiAgICAgICAgICAgICAgLmljb24tYm94IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIC50ZXh0LWJveCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1NXB4IDAgMCAyNXB4O1xyXG4gICAgICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5AbWVkaWEobWF4LXdpZHRoOiAxMjgwcHgpIHtcclxuICAuZGVtby13cmFwcGVyIHtcclxuICAgIC5kZW1vLXNob3djYXNlIHtcclxuICAgICAgLmRlbW9zIHtcclxuICAgICAgICAuaXRlbS5taWRkbGUge1xyXG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIH1cclxuICAgICAgLml0ZW0ge1xyXG5cclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblxyXG4gICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuQG1lZGlhKG1heC13aWR0aDogNDc1cHgpIHtcclxuICAubWFpbi1mZWF0dXJlcyB7XHJcbiAgICAuZmVhdHVyZXMtd3JhcCB7XHJcblxyXG4gICAgICAgIC5mZWF0dXJlcyB7XHJcbiAgICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC5mZWF0dXJlLWl0ZW0ge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgICAuaWNvbi1ib3gge1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIC50ZXh0LWJveCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHggMCAwIDE4cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgaDQge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAudGV4dC1pbnRybyB7XHJcbiAgICBoMSB7XHJcblxyXG4gICAgICAucG93ZXJmdWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDVweCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kZW1vLWhlYWRlciB7XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDEwMHB4IDAgMTAwcHggMCAhaW1wb3J0YW50O1xyXG4gICAgLmxlZnQtcGFuZWwge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubGlrZVVzIHtcclxuXHJcbiAgICAudGhlbWUtZmVhdHVyZXMge1xyXG4gICAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICBwYWRkaW5nOiAyNnB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgfVxyXG4gICAgLnRpdGxlIHtcclxuICAgICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjhweCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICBsaW5lLWhlaWdodDogMzNweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5saWtlVXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XHJcbiAgLnRoZW1lLWZlYXR1cmVzIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgIG1heC13aWR0aDogNTQwcHg7XHJcbiAgICBwYWRkaW5nOiAzMnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAubWF0LWNhcmQge1xyXG4gICAgIC5pdGVtIHtcclxuICAgICAgIGgyIHtcclxuICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgIH1cclxuICAgICAgIHVsIHtcclxuICAgICAgICAgbWFyZ2luLXRvcDogMTdweDtcclxuICAgICAgICAgbGkge1xyXG4gICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgIH1cclxuICAgICAgICAgfVxyXG4gICAgICAgfVxyXG4gICAgIH1cclxuICAgfVxyXG4gIH1cclxuICAudGl0bGUge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgaDEge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zdGFycyB7XHJcbiAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgIGNvbG9yOiAjZmZjMTExO1xyXG4gIH1cclxufVxyXG4uZm9vdGVyIHtcclxuICBiYWNrZ3JvdW5kOiAjMjIyMjIyO1xyXG4gIHAge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG4iLCIuZGVtby13cmFwcGVyIC5kZW1vLWhlYWRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uL3NyYy9hc3NldHMvaW1nL2RlbW8vZGVtby1oZWFkZXItYmcuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDExNnB4IDAgMTE2cHggMDtcbiAgbWFyZ2luOiA2MHB4O1xufVxuLmRlbW8td3JhcHBlciAuZGVtby1oZWFkZXIgLmxlZnQtcGFuZWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZGVtby13cmFwcGVyIC5kZW1vLWhlYWRlciAubGVmdC1wYW5lbCAubG9nbyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uZGVtby13cmFwcGVyIC5kZW1vLWhlYWRlciAubGVmdC1wYW5lbCAudGV4dC1pbnRybyBoMSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBjb2xvcjogI2ZmYzExMTtcbiAgbGluZS1oZWlnaHQ6IDU4cHg7XG59XG4uZGVtby13cmFwcGVyIC5kZW1vLWhlYWRlciAubGVmdC1wYW5lbCAudGV4dC1pbnRybyBoMSAucG93ZXJmdWwge1xuICBmb250LXNpemU6IDM3cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxldHRlci1zcGFjaW5nOiA3cHg7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmRlbW8td3JhcHBlciAuZGVtby1oZWFkZXIgLmxlZnQtcGFuZWwgLnRleHQtaW50cm8gaDEgLnRoZW1lIHtcbiAgZm9udC1zaXplOiAzOHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5kZW1vLXdyYXBwZXIgLmRlbW8taGVhZGVyIC5sZWZ0LXBhbmVsIC5idXR0b24gLnBlZC1idG4ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZjMTExO1xuICBjb2xvcjogIzMzMztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgcGFkZGluZzogMTJweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UgMHM7XG4gIHotaW5kZXg6IDIyMjtcbiAgYmFja2dyb3VuZDogI2ZmYzExMTtcbiAgd2lkdGg6IDE3NXB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uZGVtby13cmFwcGVyIC5kZW1vLWhlYWRlciAubGVmdC1wYW5lbCB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuLmRlbW8td3JhcHBlciAuZGVtby1oZWFkZXIgLmxlZnQtcGFuZWwgdWwgbGkge1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG59XG4uZGVtby13cmFwcGVyIC5kZW1vLWhlYWRlciAubGVmdC1wYW5lbCB1bCBsaSBpIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbi5kZW1vLXdyYXBwZXIgLmRlbW8taGVhZGVyIC5yaWdodC1wYW5lbCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmRlbW8td3JhcHBlciAuZGVtby1zaG93Y2FzZSAudGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XG59XG4uZGVtby13cmFwcGVyIC5kZW1vLXNob3djYXNlIC50aXRsZSBoMiB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uZGVtby13cmFwcGVyIC5kZW1vLXNob3djYXNlIC50aXRsZSBwIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cbi5kZW1vLXdyYXBwZXIgLmRlbW8tc2hvd2Nhc2UgLmRlbW9zIC5pdGVtIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5kZW1vLXdyYXBwZXIgLmRlbW8tc2hvd2Nhc2UgLmRlbW9zIC5pdGVtIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi5kZW1vLXdyYXBwZXIgLmRlbW8tc2hvd2Nhc2UgLmRlbW9zIC5pdGVtIC5wZWQtYnRuIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmYzExMTtcbiAgY29sb3I6ICMzMzM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAxMnB4IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZSAwcztcbiAgei1pbmRleDogMjIyO1xuICBiYWNrZ3JvdW5kOiAjZmZjMTExO1xuICB3aWR0aDogMTYwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQ3JTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDJweCAycHggMjRweCAtOHB4IHJnYmEoMCwgMCwgMCwgMC41OSk7XG4gIC1tb3otYm94LXNoYWRvdzogMnB4IDJweCAyNHB4IC04cHggcmdiYSgwLCAwLCAwLCAwLjU5KTtcbiAgYm94LXNoYWRvdzogMnB4IDJweCAyNHB4IC04cHggcmdiYSgwLCAwLCAwLCAwLjU5KTtcbn1cbi5kZW1vLXdyYXBwZXIgLmRlbW8tc2hvd2Nhc2UgLmRlbW9zIC5pdGVtOmhvdmVyIC5wZWQtYnRuIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5kZW1vLXdyYXBwZXIgLmRlbW8tc2hvd2Nhc2UgLmRlbW9zIC5pdGVtLm1pZGRsZSB7XG4gIG1hcmdpbjogMCA2MHB4IDQwcHggNjBweDtcbn1cbi5kZW1vLXdyYXBwZXIgLmRlbW8tc2hvd2Nhc2UgLmRlbW9zIC5pdGVtIC5maXJzdCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgaGVpZ2h0OiA0OTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogOTk7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNGMEYwRjA7XG59XG4uZGVtby13cmFwcGVyIC5kZW1vLXNob3djYXNlIC5kZW1vcyAuaXRlbSAuc2VjY29uZCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5kZW1vLXdyYXBwZXIgLmRlbW8tc2hvd2Nhc2UgLmRlbW9zIC5pdGVtIC5zZWNjb25kIGg0IHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5kZW1vLXdyYXBwZXIgLmRlbW8tc2hvd2Nhc2UgLmRlbW9zIC5pdGVtIC5zZWMge1xuICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xufVxuLmRlbW8td3JhcHBlciAuZGVtby1zaG93Y2FzZSAuZGVtby1yb3ctc2VjIHtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuLmRlbW8td3JhcHBlciAuY29sb3Itc2hvd2Nhc2UgLnRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cbi5kZW1vLXdyYXBwZXIgLmNvbG9yLXNob3djYXNlIC50aXRsZSBoMiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5kZW1vLXdyYXBwZXIgLmNvbG9yLXNob3djYXNlIC5kZW1vcyAuaXRlbSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZGVtby13cmFwcGVyIC5jb2xvci1zaG93Y2FzZSAuZGVtb3MgLml0ZW0gaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLmRlbW8td3JhcHBlciAuY29sb3Itc2hvd2Nhc2UgLmRlbW9zIC5pdGVtIC5wZWQtYnRuIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmYzExMTtcbiAgY29sb3I6ICMzMzM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAxMnB4IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZSAwcztcbiAgei1pbmRleDogMjIyO1xuICBiYWNrZ3JvdW5kOiAjZmZjMTExO1xuICB3aWR0aDogMTYwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQ3JTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBvcGFjaXR5OiAwO1xufVxuLmRlbW8td3JhcHBlciAuY29sb3Itc2hvd2Nhc2UgLmRlbW9zIC5pdGVtOmhvdmVyIC5wZWQtYnRuIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5kZW1vLXdyYXBwZXIgLmNvbG9yLXNob3djYXNlIC5kZW1vcyAuaXRlbS5taWRkbGUge1xuICBtYXJnaW46IDAgNjBweCA0MHB4IDYwcHg7XG59XG4uZGVtby13cmFwcGVyIC5jb2xvci1zaG93Y2FzZSAuZGVtb3MgLml0ZW0gLmZpcnN0IHtcbiAgYmFja2dyb3VuZDogI2ZmZiBub25lIHJlcGVhdCBzY3JvbGwgMCAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICAvKiBoZWlnaHQ6IDQ5MHB4OyAqL1xuICAvKiBvdmVyZmxvdzogaGlkZGVuOyAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiA5OTtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuLmRlbW8td3JhcHBlciAuY29sb3Itc2hvd2Nhc2UgLmRlbW9zIC5pdGVtIC5maXJzdCBpbWcge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZThlOGU4O1xufVxuLmRlbW8td3JhcHBlciAuY29sb3Itc2hvd2Nhc2UgLmRlbW9zIC5pdGVtIC5zZWMge1xuICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xufVxuLmRlbW8td3JhcHBlciAuY29sb3Itc2hvd2Nhc2UgLmRlbW8tcm93LXNlYyB7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5kZW1vLXdyYXBwZXIgLm1haW4tZmVhdHVyZXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xufVxuLmRlbW8td3JhcHBlciAubWFpbi1mZWF0dXJlcyAuZmVhdHVyZXMtd3JhcCAudGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XG59XG4uZGVtby13cmFwcGVyIC5tYWluLWZlYXR1cmVzIC5mZWF0dXJlcy13cmFwIC50aXRsZSBoMiB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uZGVtby13cmFwcGVyIC5tYWluLWZlYXR1cmVzIC5mZWF0dXJlcy13cmFwIC5mZWF0dXJlcyAucm93IHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cbi5kZW1vLXdyYXBwZXIgLm1haW4tZmVhdHVyZXMgLmZlYXR1cmVzLXdyYXAgLmZlYXR1cmVzIC5yb3cgLmZlYXR1cmUtaXRlbSB7XG4gIHBhZGRpbmc6IDAgMjBweCAwIDA7XG59XG4uZGVtby13cmFwcGVyIC5tYWluLWZlYXR1cmVzIC5mZWF0dXJlcy13cmFwIC5mZWF0dXJlcyAucm93IC5mZWF0dXJlLWl0ZW0gLmljb24tYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmRlbW8td3JhcHBlciAubWFpbi1mZWF0dXJlcyAuZmVhdHVyZXMtd3JhcCAuZmVhdHVyZXMgLnJvdyAuZmVhdHVyZS1pdGVtIC50ZXh0LWJveCB7XG4gIHBhZGRpbmc6IDU1cHggMCAwIDI1cHg7XG59XG4uZGVtby13cmFwcGVyIC5tYWluLWZlYXR1cmVzIC5mZWF0dXJlcy13cmFwIC5mZWF0dXJlcyAucm93IC5mZWF0dXJlLWl0ZW0gLnRleHQtYm94IGg0IHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmRlbW8td3JhcHBlciAubWFpbi1mZWF0dXJlcyAuZmVhdHVyZXMtd3JhcCAuZmVhdHVyZXMgLnJvdyAuZmVhdHVyZS1pdGVtIC50ZXh0LWJveCBwIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgLmRlbW8td3JhcHBlciAuZGVtby1zaG93Y2FzZSAuZGVtb3MgLml0ZW0ubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAuZGVtby13cmFwcGVyIC5kZW1vLXNob3djYXNlIC5kZW1vcyAuaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3NXB4KSB7XG4gIC5tYWluLWZlYXR1cmVzIC5mZWF0dXJlcy13cmFwIC5mZWF0dXJlcyAucm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWFpbi1mZWF0dXJlcyAuZmVhdHVyZXMtd3JhcCAuZmVhdHVyZXMgLnJvdyAuZmVhdHVyZS1pdGVtIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbiAgLm1haW4tZmVhdHVyZXMgLmZlYXR1cmVzLXdyYXAgLmZlYXR1cmVzIC5yb3cgLmZlYXR1cmUtaXRlbSAuaWNvbi1ib3ggaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICB9XG4gIC5tYWluLWZlYXR1cmVzIC5mZWF0dXJlcy13cmFwIC5mZWF0dXJlcyAucm93IC5mZWF0dXJlLWl0ZW0gLnRleHQtYm94IHtcbiAgICBwYWRkaW5nOiAwcHggMCAwIDE4cHggIWltcG9ydGFudDtcbiAgfVxuICAubWFpbi1mZWF0dXJlcyAuZmVhdHVyZXMtd3JhcCAuZmVhdHVyZXMgLnJvdyAuZmVhdHVyZS1pdGVtIC50ZXh0LWJveCBoNCB7XG4gICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC5tYWluLWZlYXR1cmVzIC5mZWF0dXJlcy13cmFwIC5mZWF0dXJlcyAucm93IC5mZWF0dXJlLWl0ZW0gLnRleHQtYm94IHAge1xuICAgIGNvbG9yOiAjMzMzO1xuICB9XG5cbiAgLnRleHQtaW50cm8gaDEgLnBvd2VyZnVsIHtcbiAgICBmb250LXNpemU6IDQ1cHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kZW1vLWhlYWRlciB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTAwcHggMCAxMDBweCAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmRlbW8taGVhZGVyIC5sZWZ0LXBhbmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubGlrZVVzIC50aGVtZS1mZWF0dXJlcyB7XG4gICAgd2lkdGg6IDgwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDI2cHggIWltcG9ydGFudDtcbiAgfVxuICAubGlrZVVzIC50aXRsZSBoMiB7XG4gICAgZm9udC1zaXplOiAyOHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDMzcHggIWltcG9ydGFudDtcbiAgfVxufVxuLmxpa2VVcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG59XG4ubGlrZVVzIC50aGVtZS1mZWF0dXJlcyB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDU0MHB4O1xuICBwYWRkaW5nOiAzMnB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG4ubGlrZVVzIC50aGVtZS1mZWF0dXJlcyAubWF0LWNhcmQgLml0ZW0gaDIge1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmxpa2VVcyAudGhlbWUtZmVhdHVyZXMgLm1hdC1jYXJkIC5pdGVtIHVsIHtcbiAgbWFyZ2luLXRvcDogMTdweDtcbn1cbi5saWtlVXMgLnRoZW1lLWZlYXR1cmVzIC5tYXQtY2FyZCAuaXRlbSB1bCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ubGlrZVVzIC50aGVtZS1mZWF0dXJlcyAubWF0LWNhcmQgLml0ZW0gdWwgbGkgaSB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBmb250LXNpemU6IDE2cHg7XG59XG4ubGlrZVVzIC50aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5saWtlVXMgLnRpdGxlIGgxIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmxpa2VVcyAuc3RhcnMge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBjb2xvcjogI2ZmYzExMTtcbn1cblxuLmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMyMjIyMjI7XG59XG4uZm9vdGVyIHAge1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMTBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59Il19 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-demo',\r\n templateUrl: './demo.component.html',\r\n styleUrls: ['./demo.component.scss']\r\n})\r\nexport class DemoComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbWFpbi9tYWluLmNvbXBvbmVudC5zYXNzIn0= */\"","import { Component, OnInit, ElementRef, ViewChild } from '@angular/core';\r\nimport {Product} from \"../../modals/product.model\";\r\nimport {CartItem} from \"../../modals/cart-item\";\r\nimport {ProductService} from \"../shared/services/product.service\";\r\nimport {CartService} from \"../shared/services/cart.service\";\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { SidebarMenuService } from '../shared/sidebar/sidebar-menu.service';\r\nimport { SidenavMenu } from '../shared/sidebar/sidebar-menu.model';\r\ndeclare var navbar: any;\r\n@Component({\r\n selector: 'app-main',\r\n templateUrl: './main.component.html',\r\n styleUrls: ['./main.component.sass']\r\n})\r\nexport class MainComponent implements OnInit {\r\n\r\n public sidenavMenuItems:Array;\r\n\r\n public currencies = ['USD', 'EUR'];\r\n public currency:any;\r\n public flags = [\r\n { name:'English', image: 'assets/images/flags/gb.svg' },\r\n { name:'German', image: 'assets/images/flags/de.svg' },\r\n { name:'French', image: 'assets/images/flags/fr.svg' },\r\n { name:'Russian', image: 'assets/images/flags/ru.svg' },\r\n { name:'Turkish', image: 'assets/images/flags/tr.svg' }\r\n ]\r\n public flag:any;\r\n\r\n products: Product[];\r\n\r\n indexProduct: number;\r\n shoppingCartItems: CartItem[] = [];\r\n\r\n public banners = [];\r\n\r\n wishlistItems : Product[] = [];\r\n\r\n public url : any;\r\n\r\n navItems: SidenavMenu[] = [\r\n {\r\n displayName: 'Home',\r\n iconName: 'recent_actors',\r\n children: [\r\n {\r\n displayName: 'Home-1',\r\n iconName: 'group',\r\n route: '/home/one'\r\n },\r\n {\r\n displayName: 'Home-2',\r\n iconName: 'speaker_notes',\r\n route: '/home/two',\r\n },\r\n {\r\n displayName: 'Home-3',\r\n iconName: 'feedback',\r\n route: '/home/three'\r\n }\r\n ]\r\n },\r\n {\r\n displayName: 'Products',\r\n iconName: 'feedback',\r\n route: '/home/products/all'\r\n },\r\n {\r\n displayName: 'Shop',\r\n iconName: 'movie_filter',\r\n children: [\r\n {\r\n displayName: 'Computers',\r\n iconName: 'group',\r\n children: [\r\n {\r\n displayName: 'Laptops',\r\n iconName: 'person',\r\n route: 'michael-prentice',\r\n },\r\n {\r\n displayName: 'Cables',\r\n iconName: 'person',\r\n route: 'stephen-fluin',\r\n },\r\n {\r\n displayName: 'Monitors',\r\n iconName: 'person',\r\n route: 'mike-brocchi',\r\n },\r\n {\r\n displayName: 'Tablets',\r\n iconName: 'person',\r\n route: 'mike-brocchi',\r\n },\r\n {\r\n displayName: 'Headsets',\r\n iconName: 'person',\r\n route: 'mike-brocchi',\r\n }\r\n ]\r\n },\r\n {\r\n displayName: 'Tv & Audio',\r\n iconName: 'speaker_notes',\r\n children: [\r\n {\r\n displayName: 'Tv',\r\n iconName: 'star_rate',\r\n route: 'material-design'\r\n },\r\n {\r\n displayName: 'Audio',\r\n iconName: 'star_rate',\r\n route: 'what-up-web'\r\n },\r\n {\r\n displayName: 'Video',\r\n iconName: 'star_rate',\r\n route: 'my-ally-cli'\r\n },\r\n {\r\n displayName: 'Dvd',\r\n iconName: 'star_rate',\r\n route: 'become-angular-tailer'\r\n }\r\n ]\r\n },\r\n {\r\n displayName: 'Phones',\r\n iconName: 'feedback',\r\n children: [\r\n {\r\n displayName: 'Mobile phones',\r\n iconName: 'star_rate',\r\n route: 'material-design'\r\n },\r\n {\r\n displayName: 'Power Bank',\r\n iconName: 'star_rate',\r\n route: 'what-up-web'\r\n },\r\n {\r\n displayName: 'Memory Cards',\r\n iconName: 'star_rate',\r\n route: 'my-ally-cli'\r\n },\r\n {\r\n displayName: 'Accesories',\r\n iconName: 'star_rate',\r\n route: 'become-angular-tailer'\r\n }\r\n ]\r\n },\r\n {\r\n displayName: 'Electronics',\r\n iconName: 'feedback',\r\n children: [\r\n {\r\n displayName: 'Washing Machines',\r\n iconName: 'star_rate',\r\n route: 'material-design'\r\n },\r\n {\r\n displayName: 'Water heater',\r\n iconName: 'star_rate',\r\n route: 'what-up-web'\r\n },\r\n {\r\n displayName: 'Cookers',\r\n iconName: 'star_rate',\r\n route: 'my-ally-cli'\r\n },\r\n {\r\n displayName: 'Cold stores',\r\n iconName: 'star_rate',\r\n route: 'become-angular-tailer'\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n displayName: 'Blog',\r\n iconName: 'report_problem',\r\n children: [\r\n {\r\n displayName: 'Blog List',\r\n iconName: 'group',\r\n route: '/blog/blog-list'\r\n },\r\n {\r\n displayName: 'Blog Columns',\r\n iconName: 'speaker_notes',\r\n route: '/blog/blog-column',\r\n },\r\n {\r\n displayName: 'Blog Details',\r\n iconName: 'feedback',\r\n route: '/blog/blog-details'\r\n }\r\n ]\r\n },\r\n {\r\n displayName: 'Pages',\r\n iconName: 'report_problem',\r\n children: [\r\n {\r\n displayName: 'About Us',\r\n iconName: 'group',\r\n route: '/pages/about'\r\n },\r\n {\r\n displayName: 'FAQ',\r\n iconName: 'speaker_notes',\r\n route: '/pages/faq',\r\n },\r\n {\r\n displayName: 'Contact',\r\n iconName: 'feedback',\r\n route: '/pages/contact'\r\n },\r\n {\r\n displayName: 'Wishlist',\r\n iconName: 'group',\r\n route: '/pages/wishlist'\r\n },\r\n {\r\n displayName: 'Compare',\r\n iconName: 'speaker_notes',\r\n route: '/pages/compare',\r\n },\r\n {\r\n displayName: 'Checkout',\r\n iconName: 'feedback',\r\n route: '/pages/checkout'\r\n },\r\n {\r\n displayName: 'Cart',\r\n iconName: 'group',\r\n route: '/pages/cart'\r\n },\r\n {\r\n displayName: 'My Account',\r\n iconName: 'speaker_notes',\r\n route: '/pages/my-account',\r\n },\r\n {\r\n displayName: '404',\r\n iconName: 'feedback',\r\n route: '/pages/error'\r\n }\r\n ]\r\n },\r\n {\r\n displayName: 'Contact',\r\n iconName: 'feedback',\r\n route: '/pages/contact'\r\n }\r\n ];\r\n\r\n constructor(public router: Router, private cartService: CartService, public sidenavMenuService:SidebarMenuService) {\r\n this.cartService.getItems().subscribe(shoppingCartItems => this.shoppingCartItems = shoppingCartItems);\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.url = event.url;\r\n }\r\n } )\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n ngOnInit() {\r\n this.currency = this.currencies[0];\r\n this.flag = this.flags[0];\r\n this.navbar();\r\n }\r\n\r\n navbar(){\r\n new navbar();\r\n }\r\n\r\n public changeCurrency(currency){\r\n this.currency = currency;\r\n }\r\n public changeLang(flag){\r\n this.flag = flag;\r\n }\r\n}\r\n","export default \"/* Chrome, Safari, Edge, Opera */\\ninput::-webkit-outer-spin-button,\\ninput::-webkit-inner-spin-button {\\n -webkit-appearance: none;\\n margin: 0;\\n}\\n/* Firefox */\\ninput[type=number] {\\n -moz-appearance: textfield;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wYWdlcy9jYXJ0L0M6XFxnaXRwcm9qZWN0ZW5cXHJlZHNvbi1wb3J0YWwvc3JjXFxhcHBcXGNvbXBvbmVudHNcXHBhZ2VzXFxjYXJ0XFxjYXJ0LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jb21wb25lbnRzL3BhZ2VzL2NhcnQvY2FydC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQ0FBQTtBQUNBOztFQUVFLHdCQUFBO0VBQ0EsU0FBQTtBQ0NGO0FERUEsWUFBQTtBQUNBO0VBQ0UsMEJBQUE7QUNDRiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvcGFnZXMvY2FydC9jYXJ0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQ2hyb21lLCBTYWZhcmksIEVkZ2UsIE9wZXJhICovXG5pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbmlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEZpcmVmb3ggKi9cbmlucHV0W3R5cGU9bnVtYmVyXSB7XG4gIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufSIsIi8qIENocm9tZSwgU2FmYXJpLCBFZGdlLCBPcGVyYSAqL1xuaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG5pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBGaXJlZm94ICovXG5pbnB1dFt0eXBlPW51bWJlcl0ge1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { CartItem } from 'src/app/modals/cart-item';\r\nimport { CartService } from '../../../services/cart.service';\r\nimport { AuthService } from '../../../services/auth.service';\r\nimport { NgxSpinnerService } from \"ngx-spinner\"; \r\n\r\n\r\n@Component({\r\n selector: 'app-cart',\r\n templateUrl: './cart.component.html',\r\n styleUrls: ['./cart.component.scss']\r\n})\r\nexport class CartComponent implements OnInit {\r\n\r\n public cartItems : Observable = of([]);\r\n public shoppingCartItems : CartItem[] = [];\r\n status:any;\r\n orderline: any = '';\r\n orderprice:any;\r\n number:any;\r\n maxamount: number = 999999;\r\n changeamount: any;\r\n constructor(private cartService: CartService,private spinner: NgxSpinnerService, private authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n if(this.authService.localCartStorageItem()){\r\n if(!this.authService.checkOrderNumber())\r\n if(window.localStorage.getItem('OrderNumber') > \"0\"){\r\n // console.log('fired cart')\r\n this.getOrderlines();\r\n }\r\n // this.loadMinusCartItems()\r\n }else{\r\n // if(window.localStorage.getItem('PBMOrderNumber') > \"0\"){\r\n // console.log('fired cart')\r\n // this.getPBMOrderlines();\r\n // }\r\n }\r\n }\r\n\r\n async getOrderlines() {\r\n // const loading = await this.loadingController.create({\r\n // message: 'Please wait...',\r\n // });\r\n // await loading.present();\r\n this.spinner.show(); \r\n if(window.localStorage.getItem('OrderNumber') > \"0\"){\r\n this.cartService.getOrderLine()\r\n .subscribe(data => {\r\n console.log('status', data);\r\n if(data.status === 204 || data.status === 401){\r\n // let data1 = data.data\r\n // let parsed = JSON.parse(data.data);\r\n this.orderline = '';\r\n this.status = data.status\r\n this.orderprice = 0;\r\n }else{\r\n let data1 = data.data\r\n this.orderline = data['stOrderLines'].arrOrderLine;\r\n this.status = data.status\r\n this.orderprice = data['stOrderLines'];\r\n this.spinner.hide();\r\n }\r\n if(data.status === 204){\r\n // this.presentAlertOrder();\r\n // this.navigateTo('/1/category')\r\n }\r\n\r\n // if(data.status === 401){\r\n // this.navigateTo('/login')\r\n // this.presentAlert();\r\n // }\r\n\r\n // if(data.status === 404){\r\n // this.navigateTo('/1/category')\r\n // this.presentAlertOrder();\r\n // }\r\n // this.status = data.status\r\n // this.orderprice = parsed.stOrderLines;\r\n // console.log('orderline', data);\r\n // this.categories = res['stResult']['stNavMenu']['arrMenuGroup'];\r\n // loading.dismiss();\r\n\r\n }, err => {\r\n console.log(err);\r\n console.log(err.status);\r\n if(this.authService.checkGuestLogin){\r\n if(err.status === 401){\r\n // this.presentAlert();\r\n // this.navigateTo('/1/home')\r\n }\r\n \r\n if(err.status === 404){\r\n // this.presentAlertOrder();\r\n // this.navigateTo('/1/home')\r\n }\r\n // if(err.status === 204){\r\n // this.presentAlertOrder();\r\n // this.navigateTo('/1/category')\r\n // }\r\n this.orderline = '';\r\n this.status = 401\r\n this.orderprice = 0;\r\n }else{\r\n if(err.status === 401){\r\n // this.presentAlert();\r\n // this.navigateTo('/login')\r\n }\r\n \r\n if(err.status === 404){\r\n // this.presentAlertOrder();\r\n // this.navigateTo('/1/category')\r\n }\r\n // if(err.status === 204){\r\n // this.presentAlertOrder();\r\n // this.navigateTo('/1/category')\r\n // }\r\n this.orderline = '';\r\n this.status = 401\r\n this.orderprice = 0;\r\n }\r\n // loading.dismiss();\r\n\r\n });\r\n }\r\n}\r\n\r\nremoveItem(itm, index) {\r\n // this.getOrderlines();\r\n // console.log('lineID', index)\r\n let cartProductRest = {\r\n \"sArticleCode\":itm.sArticleCode,\r\n \"sBlArtKey\":\"\",\r\n \"nAmount\": 0, \r\n };\r\n\r\n // console.log(cartProductRest)\r\n\r\n // if(this.orderline[index].iLineID){\r\n // this.cartService.deleteOrderLineNative(cartProductRest, index);\r\n this.cartService.deleteOrderLine(cartProductRest, index).subscribe(res => {\r\n // console.log(res)\r\n });\r\n setTimeout(() => {\r\n this.getOrderlines();\r\n }, 2000);\r\n // this.cartService.removeLocalCartProduct(itm);\r\n // this.presentLoading();\r\n // console.log(this.cartService.postOrderLineNative(cartProductRest))\r\n // console.log('remove native basket')\r\n // }\r\n // Recalling\r\n // this.getOrderlines();\r\n}\r\n\r\nlosesFocus(event: any = {}, item:any) {\r\n // console.log(event)\r\n if(item.nAmount === NaN){\r\n // console.log('is nan')\r\n item.nAmount = 1\r\n item.amount = 1 * (item.stPrice.curNetPriceInc);\r\n this.changeamount = item.nAmount;\r\n setTimeout(() => {\r\n this.ChangeCart(item, item.iLineID, this.changeamount)\r\n // this.getOrderlines();\r\n }, 1000);\r\n }\r\n if(event.type === \"ionChange\" ){\r\n if(event.detail.value === \"\"){\r\n // console.log('is nan input')\r\n item.nAmount= 1\r\n item.amount = 1 * (item.stPrice.curNetPriceInc);\r\n this.changeamount = item.nAmount;\r\n setTimeout(() => {\r\n this.ChangeCart(item, item.iLineID, this.changeamount)\r\n // this.getOrderlines();\r\n }, 1000);\r\n }else{\r\n item.nAmount= parseInt(event.detail.value)\r\n this.changeamount = item.nAmount;\r\n setTimeout(() => {\r\n this.ChangeCart(item, item.iLineID, this.changeamount)\r\n // this.getOrderlines();\r\n }, 1000);\r\n }\r\n }else if(event.type === \"click\"){\r\n // const oke = item.nQuantity\r\n // console.log('grealet', oke)\r\n // const y = this.focusquantity\r\n // const yeah = oke + item.nQuantityStep;\r\n // console.log(yeah)\r\n // item.nQuantity = yeah\r\n item.nAmount= isNaN(item.nAmount) ? 0 : item.nAmount;\r\n item.nAmount = item.nAmount + item.nAmountStep;\r\n var newvalue = Math.floor(item.nAmount/item.nAmountStep) * item.nAmountStep;\r\n if(newvalue < item.nAmountMin) { newvalue = item.nAmountMin;}\r\n if(this.maxamount>0) { if(newvalue > this.maxamount) { newvalue = this.maxamount; } }\r\n item.nAmount = newvalue\r\n this.changeamount = item.nAmount;\r\n setTimeout(() => {\r\n this.ChangeCart(item, item.iLineID, this.changeamount)\r\n // this.getOrderlines();\r\n }, 1000);\r\n }else{\r\n item.nAmount = item.nAmountStep\r\n this.changeamount = item.nAmount;\r\n setTimeout(() => {\r\n this.ChangeCart(item, item.iLineID, this.changeamount)\r\n // this.getOrderlines();\r\n }, 1000);\r\n }\r\n}\r\n\r\nlosesMinFocus(event: any = {}, item:any) {\r\n console.log(event)\r\n if(item.nAmount === NaN){\r\n // console.log('is nan')\r\n item.nAmount= 1\r\n item.amount = 1 * (item.stPrice.curNetPriceInc);\r\n this.changeamount = item.nAmount;\r\n setTimeout(() => {\r\n this.ChangeCart(item, item.iLineID, this.changeamount)\r\n // this.getOrderlines();\r\n }, 1000);\r\n }\r\n if(event.type === \"ionChange\"){\r\n if(event.detail.value === \"\"){\r\n // console.log('is nan input')\r\n item.nAmount = 1\r\n item.amount = 1 * (item.stPrice.curNetPriceInc);\r\n this.changeamount = item.nAmount;\r\n setTimeout(() => {\r\n this.ChangeCart(item, item.iLineID, this.changeamount)\r\n // this.getOrderlines();\r\n }, 1000);\r\n }else{\r\n item.nAmount = parseInt(event.detail.value)\r\n this.changeamount = item.nAmount;\r\n setTimeout(() => {\r\n this.ChangeCart(item, item.iLineID, this.changeamount)\r\n // this.getOrderlines();\r\n }, 1000);\r\n }\r\n }else if(event.type === \"click\"){\r\n item.nAmount= isNaN(item.nAmount) ? 0 : item.nAmount;\r\n item.nAmount = item.nAmount - item.nAmountStep;\r\n var newvalue = Math.floor(item.nAmount/item.nAmountStep) * item.nAmountStep;\r\n if(newvalue < item.nAmountMin) { newvalue = item.nAmountMin;}\r\n if(this.maxamount>0) { if(newvalue > this.maxamount) { newvalue = this.maxamount; } }\r\n item.nAmount = newvalue\r\n this.changeamount = item.nAmount;\r\n setTimeout(() => {\r\n this.ChangeCart(item, item.iLineID, this.changeamount)\r\n // this.getOrderlines();\r\n }, 2000);\r\n }else{\r\n item.nAmount = item.nAmountStep\r\n this.changeamount = item.nAmount;\r\n setTimeout(() => {\r\n this.ChangeCart(item, item.iLineID, this.changeamount)\r\n // this.getOrderlines();\r\n }, 2000);\r\n }\r\n}\r\n\r\nChangeCart(itm, index, quantity){\r\n // console.log(index)\r\n // console.log(index)\r\n let cartProductRest = {\r\n \"sArticleCode\":itm.sArticleCode,\r\n \"sBlArtKey\":\"\",\r\n \"nAmount\": quantity, \r\n };\r\n this.cartService.deleteOrderLine(cartProductRest, index).subscribe(res => {\r\n // console.log(res)\r\n });\r\n setTimeout(() => {\r\n this.getOrderlines();\r\n }, 1000);\r\n\r\n}\r\n\r\n\r\n\r\n\r\n // // Remove cart items\r\n // public removeItem(item: CartItem) {\r\n // this.cartService.removeFromCart(item);\r\n // }\r\n\r\n\r\n // // Increase Product Quantity\r\n // public increment(product: any, quantity: number = 1) {\r\n // this.cartService.updateCartQuantity(product,quantity);\r\n // }\r\n\r\n // // Decrease Product Quantity\r\n // public decrement(product: any, quantity: number = -1) {\r\n // this.cartService.updateCartQuantity(product,quantity);\r\n // }\r\n // // Get Total\r\n // public getTotal(): Observable {\r\n // return this.cartService.getTotalAmount();\r\n // }\r\n \r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvcGFnZXMvY2hlY2tvdXQvY2hlY2tvdXQuY29tcG9uZW50LnNhc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\n// import { CartService } from '../../shared/services/cart.service';\r\nimport { Observable, of } from 'rxjs';\r\nimport { CartItem } from 'src/app/modals/cart-item';\r\nimport { ProductService } from '../../shared/services/product.service';\r\nimport { FormBuilder, FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { CartService } from '../../../services/cart.service';\r\nimport { AuthService } from '../../../services/auth.service';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { NgxSpinnerService } from \"ngx-spinner\"; \r\n\r\n@Component({\r\n selector: 'app-checkout',\r\n templateUrl: './checkout.component.html',\r\n styleUrls: ['./checkout.component.sass']\r\n})\r\nexport class CheckoutComponent implements OnInit {\r\n\r\n public cartItems: Observable = of([]);\r\n public buyProducts: CartItem[] = [];\r\n\r\n amount: number;\r\n payments: string[] = ['Create an Account?', 'Flat Rate'];\r\n paymantWay: string[] = ['Direct Bank Transfer', 'PayPal'];\r\n form: FormGroup;\r\n public formfact: FormGroup;\r\n public formdeliver: FormGroup;\r\n order: any;\r\n fact:any;\r\n number:any;\r\n email:any;\r\n paymentmethod:any;\r\n deliverydate: any = \"0000-00-00\";\r\n deliverytype: any = 1;\r\n orderlines:any;\r\n factaddress:any;\r\n user:any = [];\r\n public address: any;\r\n addressinvoice:any;\r\n status:any;\r\n orderline: any = '';\r\n orderprice:any;\r\n constructor(private router: Router, private spinner: NgxSpinnerService, private cartService: CartService,private route: ActivatedRoute, public productService: ProductService,public formBuilder: FormBuilder,private authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n name: ['', [Validators.required, Validators.minLength(2)]],\r\n telephone: ['', [Validators.required, Validators.pattern('^[0-9]+$')]],\r\n email: ['', [Validators.required, Validators.pattern('[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,3}$')]],\r\n notice: [''],\r\n street: [''],\r\n housenumber: [''],\r\n zipcode: [''],\r\n city: [''],\r\n company: [''],\r\n kvk: [''],\r\n btw: [''],\r\n streetinvoice: [''],\r\n housenumberinvoice: [''],\r\n zipcodeinvoice: [''],\r\n cityinvoice: ['']\r\n })\r\n // this.setupFormfact();\r\n this.getOrder();\r\n this.getOrderlines();\r\n // this.cartItems = this.cartService.getItems();\r\n this.cartItems.subscribe(products => this.buyProducts = products);\r\n // this.getTotal().subscribe(amount => this.amount = amount);\r\n }\r\n\r\n setupFormfact() {\r\n this.formfact = new FormGroup({\r\n street: new FormControl(null, Validators.required),\r\n zipcode: new FormControl(null, Validators.required),\r\n housenumber: new FormControl(null, Validators.required),\r\n city: new FormControl(null, Validators.required)\r\n });\r\n // console.log(this.formfact)\r\n }\r\n\r\n thanks(){\r\n this.router.navigate(['/thanks']);\r\n\r\n }\r\n\r\n async getOrder() {\r\n this.cartService.getOrder()\r\n .subscribe(data => {\r\n this.spinner.hide();\r\n this.order = data['stOrderPayment'];\r\n this.user = data['stOrder'];\r\n this.address = data['stOrder']['stAddrDelivery'];\r\n this.addressinvoice = data['stOrder']['stAddrInvoice'];\r\n console.log('invoice', this.addressinvoice)\r\n const sOrderCorr = this.user.sOrderCorr;\r\n const sContactTel = this.user.sContactTel;\r\n const sContactMail = this.user.sContactMail;\r\n const sStreet = this.user.stAddrDelivery.sStreet1;\r\n const sHousenumber = this.user.stAddrDelivery.sHouseNumber;\r\n const sZipcode = this.user.stAddrDelivery.sZipCode;\r\n const sCity = this.user.stAddrDelivery.sCity;\r\n const sInvoiceStreet = this.user.stAddrInvoice.sStreet1;\r\n const sInvoiceHousenumber = this.user.stAddrInvoice.sHouseNumber;\r\n const sInvoiceZipcode = this.user.stAddrInvoice.sZipCode;\r\n const sInvoiceCity = this.user.stAddrInvoice.sCity;\r\n const sCompany = this.user.sOrderName;\r\n const sBTW = this.user.sOrderVatNr;\r\n const sKVK = this.user.sOrderKvkNr;\r\n this.form.get('name').setValue(sOrderCorr, {\r\n onlyself: true\r\n })\r\n this.form.get('email').setValue(sContactMail, {\r\n onlyself: true\r\n })\r\n this.form.get('telephone').setValue(sContactTel, {\r\n onlyself: true\r\n })\r\n this.form.get('streetinvoice').setValue(sInvoiceStreet, {\r\n onlyself: true\r\n })\r\n this.form.get('housenumberinvoice').setValue(sInvoiceHousenumber, {\r\n onlyself: true\r\n })\r\n this.form.get('zipcodeinvoice').setValue(sInvoiceZipcode, {\r\n onlyself: true\r\n })\r\n this.form.get('cityinvoice').setValue(sInvoiceCity, {\r\n onlyself: true\r\n })\r\n this.form.get('street').setValue(sStreet, {\r\n onlyself: true\r\n })\r\n this.form.get('housenumber').setValue(sHousenumber, {\r\n onlyself: true\r\n })\r\n this.form.get('zipcode').setValue(sZipcode, {\r\n onlyself: true\r\n })\r\n this.form.get('city').setValue(sCity, {\r\n onlyself: true\r\n })\r\n this.form.get('company').setValue(sCompany, {\r\n onlyself: true\r\n })\r\n this.form.get('btw').setValue(sBTW, {\r\n onlyself: true\r\n })\r\n this.form.get('kvk').setValue(sKVK, {\r\n onlyself: true\r\n })\r\n // console.log(this.user)\r\n if(!this.authService.checkGuestLogin()){\r\n this.address = data['stOrder'].stAddrDelivery;\r\n this.factaddress = data['stOrder'].stAddrInvoice;\r\n }\r\n // this.categories = res['stResult']['stNavMenu']['arrMenuGroup'];\r\n // loading.dismiss();\r\n }, err => {\r\n // console.log(err);\r\n // console.log('order error Forbidden', err.status)\r\n if(this.authService.checkGuestLogin()){\r\n if(err.status === 401 || err.status === 403 || err.status === 400){\r\n // this.presentAlertGuest();\r\n // this.navigateTo('/1/home')\r\n }\r\n }else{\r\n if(err.status === 401 || err.status === 403 || err.status === 400){\r\n // this.presentAlert();\r\n // this.navigateTo('/login')\r\n }\r\n }\r\n // loading.dismiss();\r\n });\r\n }\r\n\r\n async getOrderlines() {\r\n // const loading = await this.loadingController.create({\r\n // message: 'Please wait...',\r\n // });\r\n // await loading.present();\r\n if(window.localStorage.getItem('OrderNumber') > \"0\"){\r\n this.cartService.getOrderLine()\r\n .subscribe(data => {\r\n // console.log('status', data);\r\n if(data.status === 204 || data.status === 401){\r\n // let data1 = data.data\r\n // let parsed = JSON.parse(data.data);\r\n this.orderline = '';\r\n this.status = data.status\r\n this.orderprice = 0;\r\n }else{\r\n let data1 = data.data\r\n this.orderline = data['stOrderLines'].arrOrderLine;\r\n this.status = data.status\r\n this.orderprice = data['stOrderLines'];\r\n }\r\n if(data.status === 204){\r\n // this.presentAlertOrder();\r\n // this.navigateTo('/1/category')\r\n }\r\n\r\n // if(data.status === 401){\r\n // this.navigateTo('/login')\r\n // this.presentAlert();\r\n // }\r\n\r\n // if(data.status === 404){\r\n // this.navigateTo('/1/category')\r\n // this.presentAlertOrder();\r\n // }\r\n // this.status = data.status\r\n // this.orderprice = parsed.stOrderLines;\r\n // console.log('orderline', data);\r\n // this.categories = res['stResult']['stNavMenu']['arrMenuGroup'];\r\n // loading.dismiss();\r\n\r\n }, err => {\r\n // console.log(err);\r\n // console.log(err.status);\r\n if(this.authService.checkGuestLogin){\r\n if(err.status === 401){\r\n // this.presentAlert();\r\n // this.navigateTo('/1/home')\r\n }\r\n \r\n if(err.status === 404){\r\n // this.presentAlertOrder();\r\n // this.navigateTo('/1/home')\r\n }\r\n // if(err.status === 204){\r\n // this.presentAlertOrder();\r\n // this.navigateTo('/1/category')\r\n // }\r\n this.orderline = '';\r\n this.status = 401\r\n this.orderprice = 0;\r\n }else{\r\n if(err.status === 401){\r\n // this.presentAlert();\r\n // this.navigateTo('/login')\r\n }\r\n \r\n if(err.status === 404){\r\n // this.presentAlertOrder();\r\n // this.navigateTo('/1/category')\r\n }\r\n // if(err.status === 204){\r\n // this.presentAlertOrder();\r\n // this.navigateTo('/1/category')\r\n // }\r\n this.orderline = '';\r\n this.status = 401\r\n this.orderprice = 0;\r\n }\r\n // loading.dismiss();\r\n\r\n });\r\n }\r\n}\r\n\r\nasync orderfactchange(email) {\r\n // if(this.paymentmethod === true){\r\n // console.log('this is fact pay')\r\n if(this.fact){\r\n this.cartService.putOrderFactNewFact(this.orderlines, this.factaddress, this.form, this.formfact, email, this.deliverydate, this.deliverytype).subscribe(res => {\r\n // console.log(res)\r\n });\r\n }else{\r\n // console.log('delivery 1 or 2', this.deliverytype)\r\n this.cartService.putOrderFact(this.orderlines, this.addressinvoice, this.form, email, this.deliverydate, this.deliverytype, this.address).subscribe(res => {\r\n // console.log(res)\r\n });\r\n }\r\n // }\r\n // else{\r\n // console.log('this is mollie pay')\r\n // if(this.fact){\r\n // this.cartService.putOrderMollieNewFactNative(this.orderlines, this.adressjson, this.factaddress, this.form, this.formfact, email, this.deliverydate, this.deliverytype);\r\n // }else{\r\n // this.cartService.putOrderMollieNative(this.orderlines, this.adressjson, this.factaddress, this.form, email, this.deliverydate, this.deliverytype);\r\n // }\r\n // }\r\n// const loading = await this.loadingController.create({\r\n// message: 'Laden..',\r\n// duration: 6000\r\n// });\r\n// await loading.present();\r\nthis.spinner.show();\r\nsetTimeout(() => {\r\n if (!this.cartService.ideal) {\r\n\r\n // this.router.navigateByUrl('/thanks/checkout/' + window.localStorage.getItem('OrderNumber'));\r\n this.router.navigate(['/thanks']);\r\n this.spinner.hide();\r\n }\r\n else{\r\n // this.openbrowser();\r\n }\r\n }, 6000);\r\nthis.cartService.removeorderlocal() \r\nthis.cartService.calculateLocalCartProdCounts();\r\n\r\n}\r\n\r\nonPlaceOrder(){\r\n\r\n}\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvcGFnZXMvdGhhbmtzL3RoYW5rcy5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\nimport { CartService } from '../../../services/cart.service';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { NgxSpinnerService } from \"ngx-spinner\"; \n\n@Component({\n selector: 'app-thanks',\n templateUrl: './thanks.component.html',\n styleUrls: ['./thanks.component.sass']\n})\nexport class ThanksComponent implements OnInit {\n public params: any = {};\n storderlines: any;\n order:any;\n orderstate:any;\n constructor(private cartService: CartService,private spinner: NgxSpinnerService, private router: Router) { }\n\n ngOnInit(): void {\n this.getOrder();\n }\n\n async getOrder() {\n this.spinner.show(); \n this.cartService.getOrder()\n .subscribe(data => {\n // let parsed = JSON.parse(data.data);\n this.spinner.hide();\n this.order = data['stOrderState'].iOrderNumber;\n this.orderstate = data['stOrderState'].iOrderState;\n window.localStorage.setItem('OrderState', data['stOrderState'].iOrderState);\n this.storderlines = data['stOrderLines'];\n // this.deliverycost = parsed.stOrderLines.arrOrderKost;\n // this.user = parsed.stOrder;\n // const sOrderCorr = this.user.sOrderCorr;\n // const sContactTel = this.user.sContactTel;\n // const sContactMail = this.user.sContactMail;\n\n // this.categories = res['stResult']['stNavMenu']['arrMenuGroup'];\n // loading.dismiss();\n }, err => {\n // console.log(err);\n // console.log('order error Forbidden', err.status)\n // if (this.authService.checkGuestLogin()) {\n // if (err.status === 401 || err.status === 403 || err.status === 400) {\n // // this.presentAlertGuest();\n // this.navigateTo('/1/home')\n // }\n // } else {\n // if (err.status === 401 || err.status === 403 || err.status === 400) {\n // // this.presentAlert();\n // this.navigateTo('/login')\n // }\n // }\n // loading.dismiss();\n });\n // } else {\n // this.cartService.getOrder()\n // .subscribe(res => {\n // console.log('order', res['stOrderPayment']);\n // this.order = res['stOrderPayment'];\n // // this.user = res['stOrder'];\n // // console.log(this.user);\n // console.log(this.order['sIdealPayURL']);\n // // loading.dismiss();\n // }, err => {\n // console.log(err);\n // // loading.dismiss();\n // });\n // }\n }\n\n async goToHome() {\n this.router.navigate(['/']);\n window.localStorage.removeItem('red_cart'+`${window.localStorage.getItem('OrderNumber')}`)\n // console.log(this.orderstate)\n // if(this.orderstate = 85){\n\n // }else if (this.orderstate = 9){\n // console.log('removeordernumber');\n window.localStorage.removeItem('OrderNumber');\n // }else {\n\n // }\n\n }\n\n async goToPBMHome() {\n this.router.navigate(['/']);\n window.localStorage.removeItem('red_pbm_cart'+`${window.localStorage.getItem('PBMOrderNumber')}`)\n window.localStorage.removeItem('PBMOrderNumber');\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hhcmVkL2Jhbm5lci1wcm9tb3Rpb24vYmFubmVyLXByb21vdGlvbi5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-banner-promotion',\r\n templateUrl: './banner-promotion.component.html',\r\n styleUrls: ['./banner-promotion.component.sass']\r\n})\r\nexport class BannerPromotionComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hhcmVkL2Jhbm5lcnMtZm91ci9iYW5uZXJzLWZvdXIuY29tcG9uZW50LnNhc3MifQ== */\"","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-banners-four',\r\n templateUrl: './banners-four.component.html',\r\n styleUrls: ['./banners-four.component.sass']\r\n})\r\nexport class BannersFourComponent implements OnInit {\r\n\r\n @Input('banners') banners: Array = [];\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public getBanner(index){\r\n return this.banners[index];\r\n }\r\n\r\n public getBgImage(index){\r\n let bgImage = {\r\n 'background-image': index != null ? \"url(\" + this.banners[index].image + \")\" : \"url(https://via.placeholder.com/600x400/ff0000/fff/)\"\r\n };\r\n return bgImage;\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hhcmVkL2Jhbm5lcnMvYmFubmVycy5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-banners',\r\n templateUrl: './banners.component.html',\r\n styleUrls: ['./banners.component.sass']\r\n})\r\nexport class BannersComponent implements OnInit {\r\n\r\n @Input('banners') banners: Array = [];\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public getBanner(index){\r\n return this.banners[index];\r\n }\r\n\r\n public getBgImage(index){\r\n let bgImage = {\r\n 'background-image': index != null ? \"url(\" + this.banners[index].image + \")\" : \"url(https://via.placeholder.com/600x400/ff0000/fff/)\"\r\n };\r\n return bgImage;\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hhcmVkL2Jsb2ctc2VjdGlvbi9ibG9nLXNlY3Rpb24uY29tcG9uZW50LnNhc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-blog-section',\r\n templateUrl: './blog-section.component.html',\r\n styleUrls: ['./blog-section.component.sass']\r\n})\r\nexport class BlogSectionComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hhcmVkL2NhdGVnb3JpZXMtbWVudS9jYXRlZ29yaWVzLW1lbnUuY29tcG9uZW50LnNhc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-categories-menu',\n templateUrl: './categories-menu.component.html',\n styleUrls: ['./categories-menu.component.sass']\n})\nexport class CategoriesMenuComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hhcmVkL2NhdGVnb3JpZXMtc2VjdGlvbi9jYXRlZ29yaWVzLXNlY3Rpb24uY29tcG9uZW50LnNhc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-categories-section',\n templateUrl: './categories-section.component.html',\n styleUrls: ['./categories-section.component.sass']\n})\nexport class CategoriesSectionComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hhcmVkL2Zvb3Rlci10d28vZm9vdGVyLXR3by5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-footer-two',\n templateUrl: './footer-two.component.html',\n styleUrls: ['./footer-two.component.sass']\n})\nexport class FooterTwoComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hhcmVkL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50LnNhc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.sass']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hhcmVkL2hlYWRlci1mb3VyL2hlYWRlci1mb3VyLmNvbXBvbmVudC5zYXNzIn0= */\"","import { Component, OnInit } from '@angular/core';\nimport { Product } from 'src/app/modals/product.model';\nimport { CartItem } from 'src/app/modals/cart-item';\nimport { CartService } from '../services/cart.service';\n\n@Component({\n selector: 'app-header-four',\n templateUrl: './header-four.component.html',\n styleUrls: ['./header-four.component.sass']\n})\nexport class HeaderFourComponent implements OnInit {\n\n public currencies = ['USD', 'EUR'];\n public currency:any;\n public flags = [\n { name:'English', image: 'assets/images/flags/gb.svg' },\n { name:'German', image: 'assets/images/flags/de.svg' },\n { name:'French', image: 'assets/images/flags/fr.svg' },\n { name:'Russian', image: 'assets/images/flags/ru.svg' },\n { name:'Turkish', image: 'assets/images/flags/tr.svg' }\n ]\n public flag:any;\n\n products: Product[];\n indexProduct: number;\n public sidenavMenuItems:Array;\n shoppingCartItems: CartItem[] = [];\n\n constructor(private cartService: CartService) {\n this.cartService.getItems().subscribe(shoppingCartItems => this.shoppingCartItems = shoppingCartItems);\n }\n\n ngOnInit() {\n this.currency = this.currencies[0];\n this.flag = this.flags[0];\n }\n public changeCurrency(currency){\n this.currency = currency;\n }\n public changeLang(flag){\n this.flag = flag;\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hhcmVkL2hlYWRlci10aHJlZS9oZWFkZXItdGhyZWUuY29tcG9uZW50LnNhc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { Product } from 'src/app/modals/product.model';\nimport { CartItem } from 'src/app/modals/cart-item';\nimport { CartService } from '../services/cart.service';\n\n@Component({\n selector: 'app-header-three',\n templateUrl: './header-three.component.html',\n styleUrls: ['./header-three.component.sass']\n})\nexport class HeaderThreeComponent implements OnInit {\n\n public sidenavMenuItems:Array;\n\n public currencies = ['USD', 'EUR'];\n public currency:any;\n public flags = [\n { name:'English', image: 'assets/images/flags/gb.svg' },\n { name:'German', image: 'assets/images/flags/de.svg' },\n { name:'French', image: 'assets/images/flags/fr.svg' },\n { name:'Russian', image: 'assets/images/flags/ru.svg' },\n { name:'Turkish', image: 'assets/images/flags/tr.svg' }\n ]\n public flag:any;\n\n products: Product[];\n\n indexProduct: number;\n shoppingCartItems: CartItem[] = [];\n\n\n constructor(private cartService: CartService) {\n this.cartService.getItems().subscribe(shoppingCartItems => this.shoppingCartItems = shoppingCartItems);\n }\n\n ngOnInit() {\n this.currency = this.currencies[0];\n this.flag = this.flags[0];\n }\n\n public changeCurrency(currency){\n this.currency = currency;\n }\n public changeLang(flag){\n this.flag = flag;\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hhcmVkL2hlYWRlci10d28vaGVhZGVyLXR3by5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Product } from 'src/app/modals/product.model';\r\nimport { CartItem } from 'src/app/modals/cart-item';\r\nimport { CartService } from '../services/cart.service';\r\n\r\n@Component({\r\n selector: 'app-header-two',\r\n templateUrl: './header-two.component.html',\r\n styleUrls: ['./header-two.component.sass']\r\n})\r\nexport class HeaderTwoComponent implements OnInit {\r\n\r\n public currencies = ['USD', 'EUR'];\r\n public currency:any;\r\n public flags = [\r\n { name:'English', image: 'assets/images/flags/gb.svg' },\r\n { name:'German', image: 'assets/images/flags/de.svg' },\r\n { name:'French', image: 'assets/images/flags/fr.svg' },\r\n { name:'Russian', image: 'assets/images/flags/ru.svg' },\r\n { name:'Turkish', image: 'assets/images/flags/tr.svg' }\r\n ]\r\n public flag:any;\r\n\r\n products: Product[];\r\n indexProduct: number;\r\n public sidenavMenuItems:Array;\r\n shoppingCartItems: CartItem[] = [];\r\n\r\n constructor(private cartService: CartService) {\r\n this.cartService.getItems().subscribe(shoppingCartItems => this.shoppingCartItems = shoppingCartItems);\r\n }\r\n\r\n ngOnInit() {\r\n this.currency = this.currencies[0];\r\n this.flag = this.flags[0];\r\n }\r\n public changeCurrency(currency){\r\n this.currency = currency;\r\n }\r\n public changeLang(flag){\r\n this.flag = flag;\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hhcmVkL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnNhc3MifQ== */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Product } from 'src/app/modals/product.model';\r\nimport { CartItem } from 'src/app/modals/cart-item';\r\nimport { CartService } from '../services/cart.service';\r\nimport { SidebarMenuService } from '../sidebar/sidebar-menu.service';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.sass']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n public sidenavMenuItems:Array;\r\n\r\n public currencies = ['USD', 'EUR'];\r\n public currency:any;\r\n public flags = [\r\n { name:'English', image: 'assets/images/flags/gb.svg' },\r\n { name:'German', image: 'assets/images/flags/de.svg' },\r\n { name:'French', image: 'assets/images/flags/fr.svg' },\r\n { name:'Russian', image: 'assets/images/flags/ru.svg' },\r\n { name:'Turkish', image: 'assets/images/flags/tr.svg' }\r\n ]\r\n public flag:any;\r\n\r\n products: Product[];\r\n\r\n indexProduct: number;\r\n shoppingCartItems: CartItem[] = [];\r\n\r\n\r\n constructor(private cartService: CartService) {\r\n this.cartService.getItems().subscribe(shoppingCartItems => this.shoppingCartItems = shoppingCartItems);\r\n }\r\n\r\n ngOnInit() {\r\n this.currency = this.currencies[0];\r\n this.flag = this.flags[0];\r\n }\r\n\r\n public changeCurrency(currency){\r\n this.currency = currency;\r\n }\r\n public changeLang(flag){\r\n this.flag = flag;\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hhcmVkL21lbnUvbWVudS5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.sass']\r\n})\r\nexport class MenuComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n openMegaMenu(){\r\n let pane = document.getElementsByClassName('cdk-overlay-pane');\r\n [].forEach.call(pane, function (el) {\r\n if(el.children.length > 0){\r\n if(el.children[0].classList.contains('mega-menu')){\r\n el.classList.add('mega-menu-pane');\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'orderBy'\r\n})\r\nexport class OrderByPipe implements PipeTransform {\r\n\r\n transform(array, val = 'desc'){\r\n\r\n if (!val || val.trim() == \"\"){\r\n return array;\r\n }\r\n\r\n //ascending\r\n if (val == 'asc'){\r\n return Array.from(array).sort((item1: any, item2: any) => {\r\n return this.orderByComparator(item1['id'], item2['id']);\r\n });\r\n } else if(val == 'desc'){ // desc\r\n return Array.from(array).sort((item1: any, item2: any) => {\r\n return this.orderByComparator(item2['id'], item1['id']);\r\n });\r\n } else if(val == 'a-z') { // a-z\r\n return Array.from(array).sort((a: any, b: any) => {\r\n if ( a['name'] < b['name'] ){\r\n return -1;\r\n } else if ( a['name'] > b['name'] ){\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n } else if(val == 'z-a') { // z-a\r\n return Array.from(array).sort((a: any, b: any) => {\r\n if ( a['name'] > b['name'] ){\r\n return -1;\r\n } else if ( a['name'] < b['name'] ){\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n } else if(val == 'low') { // low to high\r\n return Array.from(array).sort((a: any, b: any) => {\r\n if ( a['price'] < b['price'] ){\r\n return -1;\r\n } else if ( a['price'] > b['price'] ){\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n } else if(val == 'high') { // high to low\r\n return Array.from(array).sort((a: any, b: any) => {\r\n if ( a['price'] > b['price'] ){\r\n return -1;\r\n } else if ( a['price'] < b['price'] ){\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n orderByComparator(a:any, b:any):number{\r\n\r\n if((isNaN(parseFloat(a)) || !isFinite(a)) || (isNaN(parseFloat(b)) || !isFinite(b))){\r\n //Isn't a number so lowercase the string to properly compare\r\n if(a.toLowerCase() < b.toLowerCase()) return -1;\r\n if(a.toLowerCase() > b.toLowerCase()) return 1;\r\n }\r\n else{\r\n //Parse strings as numbers to compare properly\r\n if(parseFloat(a) < parseFloat(b)) return -1;\r\n if(parseFloat(a) > parseFloat(b)) return 1;\r\n }\r\n\r\n return 0; //equal each other\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Product } from 'src/app/modals/product.model';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { CartItem } from 'src/app/modals/cart-item';\r\nimport { map } from 'rxjs/operators';\r\nimport { Observable, BehaviorSubject, Subscriber } from 'rxjs';\r\n\r\n// Get product from Localstorage\r\nlet products = JSON.parse(localStorage.getItem(\"cartItem\")) || [];\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CartService {\r\n\r\n// Array\r\npublic cartItems : BehaviorSubject = new BehaviorSubject([]);\r\npublic observer : Subscriber<{}>;\r\n\r\n constructor(public snackBar: MatSnackBar) {\r\n this.cartItems.subscribe(\r\n products => products = products\r\n );\r\n }\r\n\r\n // Get Products\r\n public getItems(): Observable {\r\n const itemsStream = new Observable(observer => {\r\n observer.next(products);\r\n observer.complete();\r\n });\r\n return >itemsStream;\r\n }\r\n\r\n // Add to cart\r\n public addToCart(product: Product, quantity: number) {\r\n let message, status;\r\n var item: CartItem | boolean = false;\r\n // If Products exist\r\n let hasItem = products.find((items, index) => {\r\n if(items.product.id == product.id) {\r\n let qty = products[index].quantity + quantity;\r\n let stock = this.calculateStockCounts(products[index], quantity);\r\n if(qty != 0 && stock) {\r\n products[index]['quantity'] = qty;\r\n message = 'The product ' + product.name + ' has been added to cart.';\r\n status = 'success';\r\n this.snackBar.open(message, '×', { panelClass: [status], verticalPosition: 'top', duration: 3000 });\r\n }\r\n return true;\r\n }\r\n } );\r\n\r\n // If Products does not exist (Add New Products)\r\n if(!hasItem) {\r\n item = { product: product, quantity: quantity };\r\n products.push(item);\r\n message = 'The product ' + product.name + ' has been added to cart.';\r\n status = 'success';\r\n this.snackBar.open(message, '×', { panelClass: [status], verticalPosition: 'top', duration: 3000 });\r\n }\r\n\r\n localStorage.setItem(\"cartItem\", JSON.stringify(products));\r\n return item;\r\n\r\n }\r\n\r\n// Calculate Product stock Counts\r\npublic calculateStockCounts(product: CartItem, quantity): CartItem | Boolean {\r\n let message, status;\r\n let qty = product.quantity + quantity;\r\n let stock = product.product.stock;\r\n if(stock < qty) {\r\n // this.toastrService.error('You can not add more items than available. In stock '+ stock +' items.');\r\n this.snackBar.open('You can not choose more items than available. In stock ' + stock + ' items.', '×', { panelClass: 'error', verticalPosition: 'top', duration: 3000 });\r\n return false\r\n }\r\n return true\r\n}\r\n\r\n\r\n\r\n\r\n\r\n// Removed in cart\r\npublic removeFromCart(item: CartItem) {\r\n if (item === undefined) return false;\r\n const index = products.indexOf(item);\r\n products.splice(index, 1);\r\n localStorage.setItem(\"cartItem\", JSON.stringify(products));\r\n}\r\n\r\n// Total amount\r\npublic getTotalAmount(): Observable {\r\n return this.cartItems.pipe(map((product: CartItem[]) => {\r\n return products.reduce((prev, curr: CartItem) => {\r\n return prev + curr.product.price * curr.quantity;\r\n }, 0);\r\n }));\r\n}\r\n\r\n// Update Cart Value\r\npublic updateCartQuantity(product: Product, quantity: number): CartItem | boolean {\r\n return products.find((items, index) => {\r\n if(items.product.id == product.id) {\r\n let qty = products[index].quantity + quantity;\r\n let stock = this.calculateStockCounts(products[index], quantity);\r\n if (qty != 0 && stock)\r\n products[index]['quantity'] = qty;\r\n localStorage.setItem(\"cartItem\", JSON.stringify(products));\r\n return true;\r\n }\r\n });\r\n}\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, BehaviorSubject, Subscriber } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Product } from 'src/app/modals/product.model';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { map } from 'rxjs/operators';\r\n\r\n\r\n\r\n// Get product from Localstorage\r\nlet products = JSON.parse(localStorage.getItem(\"compareItem\")) || [];\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductService {\r\n public currency : string = 'USD';\r\n public catalogMode : boolean = false;\r\n\r\n private _url: string = \"assets/data/\";\r\n public url = \"assets/data/banners.json\";\r\n\r\n public compareProducts : BehaviorSubject = new BehaviorSubject([]);\r\n public observer : Subscriber<{}>;\r\n\r\n constructor(private httpClient: HttpClient, public snackBar: MatSnackBar) {\r\n this.compareProducts.subscribe(products => products = products)\r\n }\r\n\r\n private products(): Observable {\r\n return this.httpClient.get('assets/data/products2.json');\r\n }\r\n\r\n public banners(): Observable{\r\n return this.httpClient.get(this.url);\r\n }\r\n\r\n\r\n // Get Banners\r\n public getBanners() {\r\n return this.banners();\r\n }\r\n\r\n // Get Banners\r\n public getProducts(): Observable {\r\n return this.products();\r\n }\r\n\r\n\r\n // Get Products By Id\r\n public getProduct(id: number): Observable {\r\n return this.products().pipe(map(items => {\r\n return items.find((item: Product) =>\r\n { return item.id === id; });\r\n }));\r\n // return this.products.find(product=> product.id === id);\r\n\r\n // return this.httpClient.get(this._url + 'product-' + id + '.json');\r\n }\r\n\r\n\r\n /*\r\n ---------------------------------------------\r\n ---------- Compare Product ----------------\r\n ---------------------------------------------\r\n */\r\n\r\n// Get Compare Products\r\npublic getComapreProducts(): Observable {\r\n const itemsStream = new Observable(observer => {\r\n observer.next(products);\r\n observer.complete();\r\n });\r\n return >itemsStream;\r\n}\r\n\r\n// If item is aleready added In compare\r\npublic hasProduct(product: Product): boolean {\r\n const item = products.find(item => item.id === product.id);\r\n return item !== undefined;\r\n}\r\n\r\n // Add to compare\r\n public addToCompare(product: Product): Product | boolean {\r\n let message, status;\r\n var item: Product | boolean = false;\r\n if (this.hasProduct(product)) {\r\n item = products.filter(item => item.id === product.id)[0];\r\n const index = products.indexOf(item);\r\n this.snackBar.open('The product ' + product.name + ' already added to comparison list.', '×', { panelClass: 'error', verticalPosition: 'top', duration: 3000 });\r\n\r\n } else {\r\n if(products.length < 4)\r\n products.push(product);\r\n message = 'The product ' + product.name + ' has been added to comparison list.';\r\n status = 'success';\r\n this.snackBar.open(message, '×', { panelClass: [status], verticalPosition: 'top', duration: 3000 });\r\n\r\n }\r\n localStorage.setItem(\"compareItem\", JSON.stringify(products));\r\n return item;\r\n}\r\n\r\n// Removed Product\r\npublic removeFromCompare(product: Product) {\r\n if (product === undefined) { return; }\r\n const index = products.indexOf(product);\r\n products.splice(index, 1);\r\n localStorage.setItem(\"compareItem\", JSON.stringify(products));\r\n}\r\n\r\n // Get Products By category\r\n public getProductByCategory(category: string): Observable {\r\n return this.products().pipe(map(items =>\r\n items.filter((item: Product) => {\r\n if(category == 'all')\r\n return item\r\n else\r\n return item.category === category;\r\n\r\n })\r\n ));\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Product } from '../../../modals/product.model';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { BehaviorSubject, Observable, of, Subscriber} from 'rxjs';\r\nimport { map, filter, scan } from 'rxjs/operators';\r\n\r\n// Get product from Localstorage\r\nlet products = JSON.parse(localStorage.getItem(\"wishlistItem\")) || [];\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WishlistService {\r\n\r\n // wishlist array\r\n public wishlistProducts: BehaviorSubject = new BehaviorSubject([]);\r\n public observer : Subscriber<{}>;\r\n\r\n constructor(public snackBar: MatSnackBar) { }\r\n\r\n // Get wishlist Products\r\n public getProducts(): Observable {\r\n const itemsStream = new Observable(observer => {\r\n observer.next(products);\r\n observer.complete();\r\n });\r\n return >itemsStream;\r\n }\r\n\r\n\r\n // If item is aleready added In wishlist\r\n public hasProduct(product: Product): boolean {\r\n const item = products.find(item => item.id === product.id);\r\n return item !== undefined;\r\n}\r\n\r\n // Add to wishlist\r\n public addToWishlist(product: Product): Product | boolean {\r\n let message, status;\r\n var item: Product | boolean = false;\r\n if (this.hasProduct(product)) {\r\n item = products.filter(item => item.id === product.id)[0];\r\n const index = products.indexOf(item);\r\n } else {\r\n products.push(product);\r\n }\r\n message = 'The product ' + product.name + ' has been added to wishlist.';\r\n status = 'success';\r\n this.snackBar.open(message, '×', { panelClass: [status], verticalPosition: 'top', duration: 3000 });\r\n localStorage.setItem(\"wishlistItem\", JSON.stringify(products));\r\n return item;\r\n }\r\n\r\n\r\n // Removed Product\r\n public removeFromWishlist(product: Product) {\r\n if (product === undefined) { return; }\r\n const index = products.indexOf(product);\r\n products.splice(index, 1);\r\n localStorage.setItem(\"wishlistItem\", JSON.stringify(products));\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from \"@angular/router\";\r\n\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\n\r\nimport {MatToolbarModule} from '@angular/material/toolbar';\r\nimport {MatButtonModule} from '@angular/material/button';\r\nimport {MatMenuModule} from '@angular/material/menu';\r\nimport {MatSidenavModule} from '@angular/material/sidenav';\r\nimport {MatSelectModule} from '@angular/material/select';\r\nimport {MatTabsModule} from '@angular/material/tabs';\r\nimport {MatChipsModule} from '@angular/material/chips';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {MatCardModule} from '@angular/material/card';\r\nimport {MatExpansionModule} from '@angular/material/expansion';\r\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\r\nimport {MatDividerModule} from '@angular/material/divider';\r\nimport {MatRadioModule} from '@angular/material/radio';\r\nimport {MatListModule} from '@angular/material/list';\r\nimport {MatSliderModule} from '@angular/material/slider';\r\nimport {MatInputModule} from '@angular/material/input';\r\nimport {MatDialogModule} from '@angular/material/dialog';\r\nimport { MatTableModule } from '@angular/material';\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { MenuComponent } from './menu/menu.component';\r\nimport { OrderByPipe } from './pipes/order-by.pipe';\r\nimport { ProductService } from './services/product.service';\r\nimport { CartService } from './services/cart.service';\r\nimport { SidebarComponent } from './sidebar/sidebar.component';\r\nimport { BannersComponent } from './banners/banners.component';\r\nimport { HeaderTwoComponent } from './header-two/header-two.component';\r\nimport { ShoppingWidgetsComponent } from './shopping-widgets/shopping-widgets.component';\r\nimport { HeaderThreeComponent } from './header-three/header-three.component';\r\nimport { BannersFourComponent } from './banners-four/banners-four.component';\r\nimport { BlogSectionComponent } from './blog-section/blog-section.component';\r\nimport { BannerPromotionComponent } from './banner-promotion/banner-promotion.component';\r\nimport { HeaderFourComponent } from './header-four/header-four.component';\r\nimport { CategoriesMenuComponent } from './categories-menu/categories-menu.component';\r\nimport { CategoriesSectionComponent } from './categories-section/categories-section.component';\r\nimport { FooterTwoComponent } from './footer-two/footer-two.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n HeaderComponent,\r\n FooterComponent,\r\n MenuComponent,\r\n SidebarComponent,\r\n OrderByPipe,\r\n BannersComponent,\r\n HeaderTwoComponent,\r\n ShoppingWidgetsComponent,\r\n HeaderThreeComponent,\r\n BannersFourComponent,\r\n BlogSectionComponent,\r\n BannerPromotionComponent,\r\n HeaderFourComponent,\r\n CategoriesMenuComponent,\r\n CategoriesSectionComponent,\r\n FooterTwoComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n MatButtonModule,\r\n MatSnackBarModule,\r\n MatToolbarModule,\r\n MatListModule,\r\n MatSliderModule,\r\n MatExpansionModule,\r\n MatMenuModule,\r\n MatTableModule,\r\n MatRadioModule,\r\n MatDialogModule,\r\n MatChipsModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatSidenavModule,\r\n MatSelectModule,\r\n MatTabsModule,\r\n MatDividerModule,\r\n MatCardModule,\r\n FlexLayoutModule,\r\n ],\r\n exports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatSnackBarModule,\r\n MatToolbarModule,\r\n MatListModule,\r\n MatExpansionModule,\r\n MatMenuModule,\r\n MatTableModule,\r\n MatSliderModule,\r\n MatRadioModule,\r\n MatDialogModule,\r\n MatChipsModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatSidenavModule,\r\n MatSelectModule,\r\n MatTabsModule,\r\n MatDividerModule,\r\n MatCardModule,\r\n OrderByPipe,\r\n HeaderComponent,\r\n FooterComponent,\r\n MenuComponent,\r\n SidebarComponent,\r\n BannersComponent,\r\n FlexLayoutModule,\r\n HeaderTwoComponent,\r\n HeaderThreeComponent,\r\n HeaderFourComponent,\r\n ShoppingWidgetsComponent,\r\n BannersFourComponent,\r\n BlogSectionComponent,\r\n BannerPromotionComponent,\r\n CategoriesMenuComponent,\r\n CategoriesSectionComponent,\r\n FooterTwoComponent\r\n\r\n ],\r\n providers: [\r\n ProductService,\r\n CartService\r\n ]\r\n})\r\nexport class SharedModule {}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hhcmVkL3Nob3BwaW5nLXdpZGdldHMvc2hvcHBpbmctd2lkZ2V0cy5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Product } from 'src/app/modals/product.model';\r\nimport { CartService } from '../services/cart.service';\r\nimport { Observable } from 'rxjs';\r\nimport { CartItem } from 'src/app/modals/cart-item';\r\nimport { ProductService } from '../services/product.service';\r\n\r\n@Component({\r\n selector: 'app-shopping-widgets',\r\n templateUrl: './shopping-widgets.component.html',\r\n styleUrls: ['./shopping-widgets.component.sass']\r\n})\r\nexport class ShoppingWidgetsComponent implements OnInit {\r\n\r\n products: Product[];\r\n indexProduct: number;\r\n\r\n public sidenavMenuItems:Array;\r\n\r\n @Input() shoppingCartItems: CartItem[] = [];\r\n\r\n constructor(private cartService: CartService, public productService: ProductService) { }\r\n\r\n ngOnInit() {\r\n }\r\n public updateCurrency(curr) {\r\n this.productService.currency = curr;\r\n }\r\n\r\n\r\n public removeItem(item: CartItem) {\r\n this.cartService.removeFromCart(item);\r\n }\r\n\r\n public getTotal(): Observable {\r\n return this.cartService.getTotalAmount();\r\n }\r\n\r\n}\r\n","import { Injectable, EventEmitter } from '@angular/core';\r\nimport {Event, NavigationEnd, Router} from '@angular/router';\r\nimport {BehaviorSubject} from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n\r\n\r\n\r\nexport class SidebarMenuService {\r\n public appDrawer: any;\r\n public currentUrl = new BehaviorSubject(undefined);\r\n\r\n constructor(private router: Router) {\r\n\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hhcmVkL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, HostBinding, Input } from '@angular/core';\r\nimport { SidebarMenuService } from './sidebar-menu.service';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\nimport { SidenavMenu } from './sidebar-menu.model';\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss'],\r\n animations: [\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({transform: 'rotate(0deg)'})),\r\n state('expanded', style({transform: 'rotate(180deg)'})),\r\n transition('expanded <=> collapsed',\r\n animate('225ms cubic-bezier(0.4,0.0,0.2,1)')\r\n ),\r\n ])\r\n ]\r\n})\r\nexport class SidebarComponent implements OnInit {\r\n expanded: boolean;\r\n @HostBinding('attr.aria-expanded') ariaExpanded = this.expanded;\r\n @Input() item: SidenavMenu;\r\n @Input() depth: number;\r\n\r\n constructor(private sidenavMenuService:SidebarMenuService, public router: Router) {\r\n if (this.depth === undefined) {\r\n this.depth = 0;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.sidenavMenuService.currentUrl.subscribe((url: string) => {\r\n if (this.item.route && url) {\r\n // console.log(`Checking '/${this.item.route}' against '${url}'`);\r\n this.expanded = url.indexOf(`/${this.item.route}`) === 0;\r\n this.ariaExpanded = this.expanded;\r\n // console.log(`${this.item.route} is expanded: ${this.expanded}`);\r\n }\r\n });\r\n }\r\n onItemSelected(item: SidenavMenu) {\r\n if (!item.children || !item.children.length) {\r\n this.router.navigate([item.route]);\r\n }\r\n if (item.children && item.children.length) {\r\n this.expanded = !this.expanded;\r\n }\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9ob21lLWZpdmUvaG9tZS1maXZlLmNvbXBvbmVudC5zYXNzIn0= */\"","import { Component, OnInit } from '@angular/core';\nimport { ProductService } from '../../shared/services/product.service';\nimport { CartService } from '../../shared/services/cart.service';\nimport { CartItem } from 'src/app/modals/cart-item';\nimport { Product } from 'src/app/modals/product.model';\n\n@Component({\n selector: 'app-home-five',\n templateUrl: './home-five.component.html',\n styleUrls: ['./home-five.component.sass']\n})\nexport class HomeFiveComponent implements OnInit {\n products: Product[];\n shoppingCartItems: CartItem[] = [];\n\n public slides = [\n { title: 'Huge sale', subtitle: 'Up to 70%', image: 'assets/images/carousel/banner1.jpg' },\n { title: 'Biggest discount', subtitle: 'Check the promotion', image: 'assets/images/carousel/banner2.jpg' },\n { title: 'Biggest sale', subtitle: 'Dont miss it', image: 'assets/images/carousel/banner3.jpg' },\n { title: 'Our best products', subtitle: 'Special selection', image: 'assets/images/carousel/banner4.jpg' },\n { title: 'Massive sale', subtitle: 'Only for today', image: 'assets/images/carousel/banner5.jpg' }\n ];\n\n constructor(private productService: ProductService, private cartService: CartService) { }\n\n ngOnInit() {\n\n this.cartService.getItems().subscribe(shoppingCartItems => this.shoppingCartItems = shoppingCartItems);\n this.productService.getProducts()\n .subscribe(\n (product: Product[]) => {\n this.products = product;\n }\n )\n }\n\n\n // Collection banner\n public discount = [{\n image: 'assets/images/product/tablet_bn.png',\n title: 'Tablets, Smartphones and more',\n subtitle: 'Sale up to 30%',\n }, {\n image: 'assets/images/product/camera_bn.png',\n title: 'New Cameras Collection',\n subtitle: 'Sale up to 30%',\n }]\n\n }\n\n\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9ob21lLWZvdXIvaG9tZS1mb3VyLmNvbXBvbmVudC5zYXNzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Product } from 'src/app/modals/product.model';\r\nimport { ProductService } from '../../shared/services/product.service';\r\nimport { CartItem } from 'src/app/modals/cart-item';\r\nimport { CartService } from '../../shared/services/cart.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-home-four',\r\n templateUrl: './home-four.component.html',\r\n styleUrls: ['./home-four.component.sass']\r\n})\r\nexport class HomeFourComponent implements OnInit {\r\n public banners = [];\r\n public currencies = ['USD', 'EUR'];\r\n public currency:any;\r\n public flags = [\r\n { name:'English', image: 'assets/images/flags/gb.svg' },\r\n { name:'German', image: 'assets/images/flags/de.svg' },\r\n { name:'French', image: 'assets/images/flags/fr.svg' },\r\n { name:'Russian', image: 'assets/images/flags/ru.svg' },\r\n { name:'Turkish', image: 'assets/images/flags/tr.svg' }\r\n ]\r\n public flag:any;\r\n\r\n products: Product[];\r\n\r\n indexProduct: number;\r\n shoppingCartItems: CartItem[] = [];\r\n wishlistItems : Product[] = [];\r\n\r\n\r\n public slides = [\r\n { title: 'Huge sale', subtitle: 'Up to 70%', image: 'assets/images/carousel/banner1.jpg' },\r\n { title: 'Biggest discount', subtitle: 'Check the promotion', image: 'assets/images/carousel/banner2.jpg' },\r\n { title: 'Biggest sale', subtitle: 'Dont miss it', image: 'assets/images/carousel/banner3.jpg' },\r\n { title: 'Our best products', subtitle: 'Special selection', image: 'assets/images/carousel/banner4.jpg' },\r\n { title: 'Massive sale', subtitle: 'Only for today', image: 'assets/images/carousel/banner5.jpg' }\r\n ];\r\n\r\n constructor(private productService: ProductService, private cartService: CartService) {\r\n this.cartService.getItems().subscribe(shoppingCartItems => this.shoppingCartItems = shoppingCartItems);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.productService.getBanners()\r\n .subscribe(\r\n data => this.banners = data\r\n );\r\n\r\n\r\n\r\n this.productService.getProducts()\r\n .subscribe(\r\n (product: Product[]) => {\r\n this.products = product\r\n }\r\n )\r\n this.currency = this.currencies[0];\r\n this.flag = this.flags[0];\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\npublic changeCurrency(currency){\r\n this.currency = currency;\r\n}\r\npublic changeLang(flag){\r\n this.flag = flag;\r\n}\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9ob21lLXRocmVlL2hvbWUtdGhyZWUuY29tcG9uZW50LnNhc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Product } from 'src/app/modals/product.model';\r\nimport { CartItem } from 'src/app/modals/cart-item';\r\nimport { ProductService } from '../../shared/services/product.service';\r\nimport { CartService } from '../../shared/services/cart.service';\r\n\r\n@Component({\r\n selector: 'app-home-three',\r\n templateUrl: './home-three.component.html',\r\n styleUrls: ['./home-three.component.sass']\r\n})\r\nexport class HomeThreeComponent implements OnInit {\r\n\r\n\r\n products: Product[];\r\n public banners = [];\r\n\r\n shoppingCartItems: CartItem[] = [];\r\n wishlistItems : Product[] = [];\r\n\r\n public featuredProducts: Array;\r\n public onSaleProducts: Array;\r\n public topRatedProducts: Array;\r\n public newArrivalsProducts: Array;\r\n\r\n public slides = [\r\n { title: 'Huge sale', subtitle: 'Up to 70%', image: 'assets/images/carousel/banner1.jpg' },\r\n { title: 'Biggest discount', subtitle: 'Check the promotion', image: 'assets/images/carousel/banner2.jpg' },\r\n { title: 'Biggest sale', subtitle: 'Dont miss it', image: 'assets/images/carousel/banner3.jpg' },\r\n { title: 'Our best products', subtitle: 'Special selection', image: 'assets/images/carousel/banner4.jpg' },\r\n { title: 'Massive sale', subtitle: 'Only for today', image: 'assets/images/carousel/banner5.jpg' }\r\n ];\r\n\r\n constructor(private productService: ProductService, private cartService: CartService) { }\r\n\r\n ngOnInit() {\r\n this.cartService.getItems().subscribe(shoppingCartItems => this.shoppingCartItems = shoppingCartItems);\r\n this.productService.getProducts()\r\n .subscribe(\r\n (product: Product[]) => {\r\n this.products = product;\r\n console.log(product);\r\n }\r\n );\r\n\r\n }\r\n\r\n // Collection banner\r\n public discount = [{\r\n image: 'assets/images/product/tablet_bn.png',\r\n title: 'Tablets, Smartphones and more',\r\n subtitle: 'Sale up to 30%',\r\n }, {\r\n image: 'assets/images/product/camera_bn.png',\r\n title: 'New Cameras Collection',\r\n subtitle: 'Sale up to 30%',\r\n }]\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9ob21lLXRocmVlL3Byb2R1Y3QtY2Fyb3VzZWwtdGhyZWUvcHJvZHVjdC1jYXJvdXNlbC10aHJlZS5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit, Input, Output, EventEmitter, ViewChild } from '@angular/core';\r\nimport { Product } from 'src/app/modals/product.model';\r\nimport { CartService } from 'src/app/components/shared/services/cart.service';\r\nimport { ProductService } from 'src/app/components/shared/services/product.service';\r\nimport { WishlistService } from 'src/app/components/shared/services/wishlist.service';\r\nimport { MatDialog } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport { ProductDialogComponent } from '../../products/product-dialog/product-dialog.component';\r\nimport { SwiperDirective } from 'ngx-swiper-wrapper';\r\nimport { SwiperConfigInterface } from 'ngx-swiper-wrapper';\r\n\r\n@Component({\r\n selector: 'app-product-carousel-three',\r\n templateUrl: './product-carousel-three.component.html',\r\n styleUrls: ['./product-carousel-three.component.sass']\r\n})\r\nexport class ProductCarouselThreeComponent implements OnInit {\r\n\r\n @Output() onOpenProductDialog: EventEmitter = new EventEmitter();\r\n\r\n @Input('product') product: Array = [];\r\n public config: SwiperConfigInterface = {};\r\n\r\n constructor(private cartService: CartService, private productsService: ProductService, private wishlistService: WishlistService, private dialog: MatDialog, private router: Router) { }\r\n // @ViewChild(SwiperDirective) directiveRef: SwiperDirective;\r\n\r\n ngOnInit() {\r\n }\r\n ngAfterViewInit(){\r\n this.config = {\r\n observer: true,\r\n slidesPerView: 4,\r\n spaceBetween: 16,\r\n keyboard: true,\r\n navigation: true,\r\n pagination: false,\r\n grabCursor: true,\r\n loop: false,\r\n preloadImages: false,\r\n lazy: true,\r\n breakpoints: {\r\n 480: {\r\n slidesPerView: 1\r\n },\r\n 740: {\r\n slidesPerView: 2,\r\n },\r\n 960: {\r\n slidesPerView: 3,\r\n },\r\n 1280: {\r\n slidesPerView: 4,\r\n },\r\n\r\n\r\n }\r\n }\r\n }\r\n\r\n // Add to cart\r\n public addToCart(product: Product, quantity: number = 1) {\r\n this.cartService.addToCart(product,quantity);\r\n console.log(product, quantity);\r\n }\r\n\r\n // Add to wishlist\r\n public addToWishlist(product: Product) {\r\n this.wishlistService.addToWishlist(product);\r\n }\r\n\r\n // Add to compare\r\n public addToCompare(product: Product) {\r\n this.productsService.addToCompare(product);\r\n }\r\n\r\n\r\npublic openProductDialog(product){\r\n let dialogRef = this.dialog.open(ProductDialogComponent, {\r\n data: product,\r\n panelClass: 'product-dialog',\r\n });\r\n dialogRef.afterClosed().subscribe(product => {\r\n if(product){\r\n this.router.navigate(['/products', product.id, product.name]);\r\n }\r\n });\r\n}\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9ob21lLXR3by9ob21lLXR3by5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Product } from 'src/app/modals/product.model';\r\nimport { CartItem } from 'src/app/modals/cart-item';\r\nimport { ProductService } from '../../shared/services/product.service';\r\nimport { CartService } from '../../shared/services/cart.service';\r\n\r\n@Component({\r\n selector: 'app-home-two',\r\n templateUrl: './home-two.component.html',\r\n styleUrls: ['./home-two.component.sass']\r\n})\r\nexport class HomeTwoComponent implements OnInit {\r\n\r\n\r\n products: Product[];\r\n public banners = [];\r\n\r\n shoppingCartItems: CartItem[] = [];\r\n wishlistItems : Product[] = [];\r\n\r\n public featuredProducts: Array;\r\n public onSaleProducts: Array;\r\n public topRatedProducts: Array;\r\n public newArrivalsProducts: Array;\r\n\r\n public slides = [\r\n { title: 'Huge sale', subtitle: 'Up to 70%', image: 'assets/images/carousel/banner1.jpg' },\r\n { title: 'Biggest discount', subtitle: 'Check the promotion', image: 'assets/images/carousel/banner2.jpg' },\r\n { title: 'Biggest sale', subtitle: 'Dont miss it', image: 'assets/images/carousel/banner3.jpg' },\r\n { title: 'Our best products', subtitle: 'Special selection', image: 'assets/images/carousel/banner4.jpg' },\r\n { title: 'Massive sale', subtitle: 'Only for today', image: 'assets/images/carousel/banner5.jpg' }\r\n ];\r\n\r\n constructor(private productService: ProductService, private cartService: CartService) { }\r\n\r\n ngOnInit() {\r\n this.cartService.getItems().subscribe(shoppingCartItems => this.shoppingCartItems = shoppingCartItems);\r\n this.productService.getProducts()\r\n .subscribe(\r\n (product: Product[]) => {\r\n this.products = product;\r\n }\r\n )\r\n this.productService.getBanners()\r\n .subscribe(\r\n data => this.banners = data\r\n );\r\n }\r\n\r\n\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9ob21lLXR3by9wcm9kdWN0LWNhcm91c2VsLXR3by9wcm9kdWN0LWNhcm91c2VsLXR3by5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit, Input, Output, EventEmitter, ViewChild } from '@angular/core';\r\nimport { Product } from 'src/app/modals/product.model';\r\nimport { CartService } from 'src/app/components/shared/services/cart.service';\r\nimport { ProductService } from 'src/app/components/shared/services/product.service';\r\nimport { WishlistService } from 'src/app/components/shared/services/wishlist.service';\r\nimport { MatDialog } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport { ProductDialogComponent } from '../../products/product-dialog/product-dialog.component';\r\nimport { SwiperDirective } from 'ngx-swiper-wrapper';\r\nimport { SwiperConfigInterface } from 'ngx-swiper-wrapper';\r\n\r\n@Component({\r\n selector: 'app-product-carousel-two',\r\n templateUrl: './product-carousel-two.component.html',\r\n styleUrls: ['./product-carousel-two.component.sass']\r\n})\r\nexport class ProductCarouselTwoComponent implements OnInit {\r\n @Output() onOpenProductDialog: EventEmitter = new EventEmitter();\r\n @Input('product') product: Array = [];\r\n public config: SwiperConfigInterface = {};\r\n\r\n constructor(private cartService: CartService, private productsService: ProductService, private wishlistService: WishlistService, private dialog: MatDialog, private router: Router) { }\r\n // @ViewChild(SwiperDirective) directiveRef: SwiperDirective;\r\n\r\n ngOnInit() {\r\n console.log(this.product);\r\n }\r\n ngAfterViewInit(){\r\n this.config = {\r\n observer: true,\r\n slidesPerView: 5,\r\n spaceBetween: 16,\r\n keyboard: true,\r\n navigation: true,\r\n pagination: false,\r\n grabCursor: true,\r\n loop: false,\r\n preloadImages: false,\r\n lazy: true,\r\n breakpoints: {\r\n 480: {\r\n slidesPerView: 1\r\n },\r\n 740: {\r\n slidesPerView: 2,\r\n },\r\n 960: {\r\n slidesPerView: 3,\r\n },\r\n 1280: {\r\n slidesPerView: 4,\r\n },\r\n\r\n\r\n }\r\n }\r\n }\r\n\r\n // Add to cart\r\n public addToCart(product: Product, quantity: number = 1) {\r\n this.cartService.addToCart(product,quantity);\r\n console.log(product, quantity);\r\n }\r\n\r\n // Add to wishlist\r\n public addToWishlist(product: Product) {\r\n this.wishlistService.addToWishlist(product);\r\n }\r\n\r\n // Add to compare\r\n public addToCompare(product: Product) {\r\n this.productsService.addToCompare(product);\r\n }\r\n\r\n\r\n public openProductDialog(product){\r\n let dialogRef = this.dialog.open(ProductDialogComponent, {\r\n data: product,\r\n panelClass: 'product-dialog',\r\n });\r\n dialogRef.afterClosed().subscribe(product => {\r\n if(product){\r\n this.router.navigate(['/products', product.id, product.name]);\r\n }\r\n });\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9ob21lL2hvbWUuY29tcG9uZW50LnNhc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { ProductService } from '../../shared/services/product.service';\r\nimport { Product } from 'src/app/modals/product.model';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.sass']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n products: Product[];\r\n public banners = [];\r\n public slides = [\r\n { title: 'Huge sale', subtitle: 'Up to 70%', image: 'assets/images/carousel/banner1.jpg' },\r\n { title: 'Biggest discount', subtitle: 'Check the promotion', image: 'assets/images/carousel/banner2.jpg' },\r\n { title: 'Biggest sale', subtitle: 'Dont miss it', image: 'assets/images/carousel/banner3.jpg' },\r\n { title: 'Our best products', subtitle: 'Special selection', image: 'assets/images/carousel/banner4.jpg' },\r\n { title: 'Massive sale', subtitle: 'Only for today', image: 'assets/images/carousel/banner5.jpg' }\r\n ];\r\n\r\n constructor(private productService: ProductService) { }\r\n\r\n ngOnInit() {\r\n this.productService.getBanners()\r\n .subscribe(\r\n data => this.banners = data\r\n );\r\n\r\n this.productService.getProducts()\r\n .subscribe(\r\n (product: Product[]) => {\r\n this.products = product\r\n }\r\n )\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9ob21lL3Byb2R1Y3QtY2Fyb3VzZWwvcHJvZHVjdC1jYXJvdXNlbC5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit, EventEmitter, Output, Input } from '@angular/core';\r\nimport { Product } from 'src/app/modals/product.model';\r\nimport { SwiperDirective } from 'ngx-swiper-wrapper';\r\nimport { SwiperConfigInterface } from 'ngx-swiper-wrapper';\r\nimport { MatDialog } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport { ProductDialogComponent } from '../../products/product-dialog/product-dialog.component';\r\nimport { CartService } from 'src/app/components/shared/services/cart.service';\r\nimport { ProductService } from 'src/app/components/shared/services/product.service';\r\nimport { WishlistService } from 'src/app/components/shared/services/wishlist.service';\r\n\r\n@Component({\r\n selector: 'app-product-carousel',\r\n templateUrl: './product-carousel.component.html',\r\n styleUrls: ['./product-carousel.component.sass']\r\n})\r\nexport class ProductCarouselComponent implements OnInit {\r\n @Output() onOpenProductDialog: EventEmitter = new EventEmitter();\r\n @Input('product') product: Array = [];\r\n public config: SwiperConfigInterface = {};\r\n constructor(private dialog: MatDialog, private router: Router, private cartService: CartService, private productService: ProductService, private wishlistService: WishlistService) { }\r\n\r\n ngOnInit() {\r\n }\r\n ngAfterViewInit(){\r\n this.config = {\r\n observer: true,\r\n slidesPerView: 5,\r\n spaceBetween: 16,\r\n keyboard: true,\r\n navigation: true,\r\n pagination: false,\r\n grabCursor: true,\r\n loop: true,\r\n preloadImages: false,\r\n lazy: true,\r\n breakpoints: {\r\n 480: {\r\n slidesPerView: 1\r\n },\r\n 740: {\r\n slidesPerView: 2,\r\n },\r\n 960: {\r\n slidesPerView: 3,\r\n },\r\n 1280: {\r\n slidesPerView: 4,\r\n },\r\n\r\n\r\n }\r\n }\r\n }\r\n\r\n\r\n public openProductDialog(product){\r\n let dialogRef = this.dialog.open(ProductDialogComponent, {\r\n data: product,\r\n panelClass: 'product-dialog',\r\n });\r\n dialogRef.afterClosed().subscribe(product => {\r\n if(product){\r\n this.router.navigate(['/products', product.id, product.name]);\r\n }\r\n });\r\n }\r\n\r\n // Add to cart\r\n public addToCart(product: Product, quantity: number = 1) {\r\n this.cartService.addToCart(product,quantity);\r\n console.log(product, quantity);\r\n }\r\n\r\n // Add to wishlist\r\n public addToWishlist(product: Product) {\r\n this.wishlistService.addToWishlist(product);\r\n }\r\n\r\n // Add to compare\r\n public addToCompare(product: Product) {\r\n this.productService.addToCompare(product);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9tYWluLWNhcm91c2VsL21haW4tY2Fyb3VzZWwuY29tcG9uZW50LnNhc3MifQ== */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { SwiperConfigInterface, SwiperPaginationInterface } from 'ngx-swiper-wrapper';\r\n\r\n@Component({\r\n selector: 'app-main-carousel',\r\n templateUrl: './main-carousel.component.html',\r\n styleUrls: ['./main-carousel.component.sass']\r\n})\r\nexport class MainCarouselComponent implements OnInit {\r\n\r\n @Input('slides') slides: Array = [];\r\n\r\n public config: SwiperConfigInterface = {};\r\n\r\n private pagination: SwiperPaginationInterface = {\r\n el: '.swiper-pagination',\r\n clickable: true\r\n };\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n\r\n ngAfterViewInit(){\r\n this.config = {\r\n slidesPerView: 1,\r\n spaceBetween: 0,\r\n keyboard: true,\r\n navigation: true,\r\n pagination: this.pagination,\r\n grabCursor: true,\r\n loop: false,\r\n preloadImages: false,\r\n lazy: true,\r\n autoplay: {\r\n delay: 6000,\r\n disableOnInteraction: false\r\n },\r\n speed: 500,\r\n effect: \"slide\"\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9wcm9kdWN0cy9wcmljZS9wcmljZS5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-price',\r\n templateUrl: './price.component.html',\r\n styleUrls: ['./price.component.sass']\r\n})\r\nexport class PriceComponent implements OnInit {\r\n\r\n\r\n public priceFrom: number = 750;\r\n public priceTo: number = 1599;\r\n // Using Output EventEmitter\r\n @Output() priceFilters = new EventEmitter();\r\n\r\n // define min, max and range\r\n public min : number = 100;\r\n public max : number = 1000;\r\n public range = [100,1000];\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n\r\n // rangeChanged\r\n priceChanged(event:any) {\r\n setInterval(() => {\r\n this.priceFilters.emit(event);\r\n }, 1000);\r\n }\r\n\r\n priceFilter() {\r\n this.priceFilters.emit({\r\n priceFrom: this.priceFrom,\r\n priceTo: this.priceTo\r\n });\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9wcm9kdWN0cy9wcm9kdWN0LWNhdGVnb3J5L3Byb2R1Y3QtY2F0ZWdvcnkuY29tcG9uZW50LnNhc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\nimport { ProductService } from '../../../../services/product.service';\nimport { AuthService } from '../../../../services/auth.service';\nimport { NgxSpinnerService } from \"ngx-spinner\"; \nimport { faTh, faList } from '@fortawesome/free-solid-svg-icons';\n\n\n@Component({\n selector: 'app-product-category',\n templateUrl: './product-category.component.html',\n styleUrls: ['./product-category.component.sass']\n})\nexport class ProductCategoryComponent implements OnInit {\n public params: any = {};\n category:any;\n search:any;\n faTh = faTh;\n faList = faList;\n items:any;\n group:any;\n id:any;\n list = true;\n grid = false;\n variant = true;\n showBtn=-1;\n hiddenvariant = false;\n public skeletonArray = Array(6);\n defaultimg = \"../assets/img/default-img.png\"\n shopimagesmedium = \"https://msgcms.msgsoftware.nl/msgcms_web/RED/ShopImagesMedium/\"\n constructor(private activatedRoute: ActivatedRoute,private spinner: NgxSpinnerService, public authService: AuthService, public router: Router, private productService:ProductService) { }\n\n ngOnInit(): void {\n this.activatedRoute.params.subscribe(params => {\n // PARAMS CHANGED .. TO SOMETHING REALLY COOL HERE ..\n // for example extract the id..\n console.log('params = ' , params)\n this.search = params['search']; // (+) converts string 'id' to a number\n this.loadProductssearch(this.search);\n });\n this.category = this.activatedRoute.snapshot.params.category;\n this.params.item = this.category\n this.search = this.activatedRoute.snapshot.params.search;\n this.params.item = this.search\n if(this.category){\n this.loadProducts(this.category);\n }else{\n this.loadProductssearch(this.search);\n }\n }\n\n public onError(): void {\n this.defaultimg = \"../assets/img/default-img.png\";\n}\n\nngOnChanges(): void{\n this.activatedRoute.params.subscribe(params => {\n // PARAMS CHANGED .. TO SOMETHING REALLY COOL HERE ..\n // for example extract the id..\n this.search = +params['search']; // (+) converts string 'id' to a number\n this.loadProductssearch(this.search);\n });\n this.category = this.activatedRoute.snapshot.params.category;\n this.params.item = this.category\n this.search = this.activatedRoute.snapshot.params.search;\n this.params.item = this.search\n if(this.category){\n this.loadProducts(this.category);\n }else{\n this.loadProductssearch(this.search);\n }\n}\n\n\nShowVariant(id) {\n let code = id\n this.variant = false;\n this.showBtn=id;\n this.hiddenvariant = true;\n}\nHideVariant(id) {\n console.log(id)\n this.variant = true;\n this.hiddenvariant = false;\n}\n\nChangeGrid() {\n this.grid = true;\n this.list = false;\n}\nChangeList() {\n this.grid = false;\n this.list = true;\n}\n\nasync Go(item:any) {\n const url = this.router.url.split('?')[0];\n console.log(url)\n this.router.navigate(['/product/' + item]);\n \n}\n\n\n\n async loadProducts(item:any) {\n // const loading = await this.loadingController.create({\n // message: 'Please wait...',\n // });\n // await loading.present();\n // let code = item.substr(6, 7)\n // let key = item.substr(13, 6)\n // this.blartkey = item.substr(19,5);\n // this.pbmblartkey = item.substr(13, 6)\n // console.log('pbm artkey', item.substr(19, 5))\n // console.log(code)\n // console.log(key)\n this.spinner.show(); \n this.productService.getProductsByCategory(item)\n .subscribe(res => {\n // console.log('products', res);\n if(res){\n this.items = res['stArticles']['arrArticleInList'];\n this.group = res['stGroupInfo'];\n this.spinner.hide();\n }\n // this.filters = res['stPropFilter']['arrProp'];\n // loading.dismiss();\n }, err => {\n console.log(err);\n // loading.dismiss();\n });\n\n }\n\n async loadProductssearch(item:any) {\n console.log('search = ', item)\n this.spinner.show(); \n this.productService.getProductsByCategorySearch(item)\n .subscribe(res => {\n // console.log('products', res);\n this.spinner.hide();\n this.items = res['stArticles']['arrArticleInList'];\n this.group = res['stGroupInfo'];\n // this.filters = res['stPropFilter']['arrProp'];\n // loading.dismiss();\n }, err => {\n this.spinner.hide();\n this.items = [];\n this.group = [];\n console.log(err);\n // loading.dismiss();\n });\n\n }\n\n}\n","export default \"/* Chrome, Safari, Edge, Opera */\\ninput::-webkit-outer-spin-button,\\ninput::-webkit-inner-spin-button {\\n -webkit-appearance: none;\\n margin: 0;\\n}\\n/* Firefox */\\ninput[type=number] {\\n -moz-appearance: textfield;\\n}\\n.carousel-control-prev-icon {\\n background-image: url(\\\"https://apufpel.com.br/assets/img/seta_prim.png\\\") !important;\\n}\\n.carousel-control-next-icon {\\n background-image: url(\\\"https://apufpel.com.br/assets/img/seta_ult.png\\\");\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9zaG9wL3Byb2R1Y3RzL3Byb2R1Y3QtZGV0YWlscy9DOlxcZ2l0cHJvamVjdGVuXFxyZWRzb24tcG9ydGFsL3NyY1xcYXBwXFxjb21wb25lbnRzXFxzaG9wXFxwcm9kdWN0c1xccHJvZHVjdC1kZXRhaWxzXFxwcm9kdWN0LWRldGFpbHMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9wcm9kdWN0cy9wcm9kdWN0LWRldGFpbHMvcHJvZHVjdC1kZXRhaWxzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdDQUFBO0FBQ0E7O0VBRUUsd0JBQUE7RUFDQSxTQUFBO0FDQ0Y7QURFQSxZQUFBO0FBQ0E7RUFDRSwwQkFBQTtBQ0NGO0FER0E7RUFDRSxtRkFBQTtBQ0FGO0FERUE7RUFDQyx1RUFBQTtBQ0NEIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9zaG9wL3Byb2R1Y3RzL3Byb2R1Y3QtZGV0YWlscy9wcm9kdWN0LWRldGFpbHMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBDaHJvbWUsIFNhZmFyaSwgRWRnZSwgT3BlcmEgKi9cbmlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogRmlyZWZveCAqL1xuaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29ue1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vYXB1ZnBlbC5jb20uYnIvYXNzZXRzL2ltZy9zZXRhX3ByaW0ucG5nJykgIWltcG9ydGFudFxufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29ue1xuIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9hcHVmcGVsLmNvbS5ici9hc3NldHMvaW1nL3NldGFfdWx0LnBuZycpXG59IiwiLyogQ2hyb21lLCBTYWZhcmksIEVkZ2UsIE9wZXJhICovXG5pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbmlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEZpcmVmb3ggKi9cbmlucHV0W3R5cGU9bnVtYmVyXSB7XG4gIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2FwdWZwZWwuY29tLmJyL2Fzc2V0cy9pbWcvc2V0YV9wcmltLnBuZ1wiKSAhaW1wb3J0YW50O1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2FwdWZwZWwuY29tLmJyL2Fzc2V0cy9pbWcvc2V0YV91bHQucG5nXCIpO1xufSJdfQ== */\"","import { Component, OnInit, ViewChild, Output, EventEmitter, ViewEncapsulation } from '@angular/core';\r\nimport { Product } from 'src/app/modals/product.model';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material';\r\nimport { CartService } from '../../../../services/cart.service';\r\nimport { SwiperDirective, SwiperConfigInterface } from 'ngx-swiper-wrapper';\r\nimport { ProductZoomComponent } from './product-zoom/product-zoom.component';\r\nimport { ProductService } from '../../../../services/product.service';\r\nimport { AuthService } from '../../../../services/auth.service';\r\nimport { NgxSpinnerService } from \"ngx-spinner\"; \r\n\r\n@Component({\r\n selector: 'app-product-details',\r\n templateUrl: './product-details.component.html',\r\n styleUrls: ['./product-details.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ProductDetailsComponent implements OnInit {\r\n public params: any = {};\r\n public config: SwiperConfigInterface={};\r\n @Output() onOpenProductDialog: EventEmitter = new EventEmitter();\r\n shopimagesmedium = \"https://msgcms.msgsoftware.nl/msgcms_web/RED/ShopImages/\"\r\n default= \"./assets/img/default-img.png\"\r\n @ViewChild('zoomViewer', { static: true }) zoomViewer;\r\n @ViewChild(SwiperDirective, { static: true }) directiveRef: SwiperDirective;\r\n\r\n public product : Product = {};\r\n public products : Product[] = [];\r\n\r\n public image: any;\r\n public zoomImage: any;\r\n\r\n public counter : number = 1;\r\n\r\n index: number;\r\n productid:any;\r\n blartkey: any;\r\n orderlines:any;\r\n orderline:any;\r\n breadcrumb:any;\r\n bigProductImageIndex = 0;\r\n item:any;\r\n items:any;\r\n properties:any;\r\n constructor(private route: ActivatedRoute, private spinner: NgxSpinnerService, public authService: AuthService, public productService: ProductService, public dialog: MatDialog, private router: Router, private cartService: CartService) {\r\n // this.route.params.subscribe(params => {\r\n // const id = +params['id'];\r\n // console.log('productid',id)\r\n // this.getSingleProduct(id)\r\n // // this.productsService.getProduct(id).subscribe(product => this.product = product)\r\n // });\r\n this.spinner.show(); \r\n }\r\n\r\n ngOnInit() {\r\n this.productid = this.route.snapshot.params.id;\r\n this.params.id = this.productid\r\n // console.log(this.product)\r\n\r\n this.getSingleProduct(this.productid)\r\n this.getBreadCrumb(this.productid)\r\n // this.productsService.getProducts().subscribe(product => this.products = product);\r\n\r\n \r\n // this.getRelatedProducts();\r\n }\r\n\r\n async getSingleProduct(item:any) {\r\n\r\n this.productService.getProductsByDetail(item)\r\n .subscribe(res => {\r\n // console.log('item', res);\r\n if(res){\r\n \r\n this.item = res['stArticle'];\r\n this.items = res['stRelated']['arrArticleInList'];\r\n this.properties = res['stArticle']['stProperties']['arrProp'];\r\n }\r\n // loading.dismiss();\r\n }, err => {\r\n console.log(err);\r\n // loading.dismiss();\r\n });\r\n // this.spinner.hide();\r\n }\r\n\r\n async getBreadCrumb(item:any) {\r\n this.productService.getBreadCrumb(item)\r\n .subscribe(res => {\r\n console.log('breadcrumbs', res);\r\n if (res === null){this.spinner.hide();} else{\r\n this.breadcrumb = res['stNavMenu']['arrMenuGroup'][0].sGroupDesc;\r\n this.spinner.hide();\r\n }\r\n // loading.dismiss();\r\n }, err => {\r\n console.log(err);\r\n this.spinner.hide();\r\n // loading.dismiss();\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n ngAfterViewInit() {\r\n this.config = {\r\n observer: true,\r\n slidesPerView: 3,\r\n spaceBetween: 10,\r\n keyboard: true,\r\n navigation: true,\r\n pagination: false,\r\n grabCursor: true,\r\n loop: false,\r\n preloadImages: false,\r\n lazy: true,\r\n breakpoints: {\r\n 480: {\r\n slidesPerView: 1\r\n },\r\n 740: {\r\n slidesPerView: 2,\r\n },\r\n 960: {\r\n slidesPerView: 3,\r\n },\r\n 1280: {\r\n slidesPerView: 3,\r\n },\r\n\r\n\r\n }\r\n }\r\n }\r\n\r\n\r\n public openProductDialog(product, bigProductImageIndex) {\r\n let dialogRef = this.dialog.open(ProductZoomComponent, {\r\n data: {product, index: bigProductImageIndex },\r\n panelClass: 'product-dialog',\r\n });\r\n dialogRef.afterClosed().subscribe(product => {\r\n if (product) {\r\n this.router.navigate(['/products', product.id, product.name]);\r\n }\r\n });\r\n }\r\n\r\n\r\n public selectImage(index) {\r\n // console.log(this.product)\r\n // console.log(index)\r\n this.bigProductImageIndex = index;\r\n }\r\n\r\n\r\n\r\n\r\npublic increment() {\r\n this.counter += 1;\r\n}\r\n\r\npublic decrement() {\r\n if(this.counter >1){\r\n this.counter -= 1;\r\n }\r\n}\r\n\r\n// getRelatedProducts() {\r\n// this.productsService.getProducts()\r\n// .subscribe(\r\n// (product: Product[]) => {\r\n// this.products = product\r\n// });\r\n// }\r\n\r\n // Add to cart\r\n // public addToCart(product: Product, quantity) {\r\n // if (quantity == 0) return false;\r\n // this.cartService.addToCart(product, parseInt(quantity));\r\n // }\r\n\r\n // Add to cart\r\n// public buyNow(product: Product, quantity) {\r\n// if (quantity > 0)\r\n// this.cartService.addToCart(product,parseInt(quantity));\r\n// this.router.navigate(['/pages/checkout']);\r\n// }\r\n\r\nonEnter(item){\r\n this.addToCart(item);\r\n}\r\n\r\n\r\n addToCart(item) {\r\n // var newvalue\t= Math.floor(item.nQuantity/parseFloat(item.nOrderfactor)) * parseFloat(item.nOrderfactor);\r\n this.spinner.show(); \r\n if(item.nOrderFactor >= 0 ){\r\n // this.presentLoading();\r\n if(this.authService.checkOrderNumber()){\r\n this.postOrder();\r\n }else{\r\n if(window.localStorage.getItem('OrderNumber') > \"0\"){\r\n this.getOrderLines();\r\n }\r\n }\r\n // console.log(item);\r\n setTimeout(() => {\r\n if(item.nPriceFactor > 1){\r\n if(item.nQuantity === 0 || item.nQuantity === '' || item.nQuantity === 'undefined' || item.nQuantity === 'NaN'){\r\n var productPrice = 1 * parseFloat(item.stPrice.curNetPriceInc) / item.nPriceFactor;\r\n }else{\r\n var productPrice = item.nQuantity * parseFloat(item.stPrice.curNetPriceInc) / item.nPriceFactor;\r\n }\r\n }else{\r\n if(item.nQuantity === 0 || item.nQuantity === '' || item.nQuantity === 'undefined' || item.nQuantity === 'NaN'){\r\n var productPrice = 1 * parseFloat(item.stPrice.curNetPriceInc) \r\n }else{\r\n var productPrice = item.nQuantity * parseFloat(item.stPrice.curNetPriceInc) \r\n }\r\n }\r\n if(item.nQuantity === 0 || item.nQuantity === '' || item.nQuantity === 'undefined' || item.nQuantity === 'NaN'){\r\n let cartProduct = {\r\n product_id: item.sArticleCode,\r\n sDescription1: item.sDescription1,\r\n sArticleBrand: item.sArticleBrand,\r\n sPromoImage: item.sPromoImage,\r\n sArticleCode: item.sArticleCode,\r\n sBlArtKey: item.sBlArtKey,\r\n nQuantityStep: item.nQuantityStep,\r\n nPriceFactor: item.nPriceFactor,\r\n curNetPrice: item.stPrice.curNetPrice,\r\n curNetPriceInc: item.stPrice.curNetPriceInc,\r\n count: 1,\r\n iNbPoints: item.iNbPoints,\r\n totalPrice: productPrice\r\n };\r\n let cartProductRest = {\r\n \"sArticleCode\":item.sArticleCode,\r\n \"sBlArtKey\":this.blartkey,\r\n \"nAmount\": 1, \r\n };\r\n console.log(this.orderlines)\r\n if(!this.orderlines){\r\n console.log('New item in order')\r\n // this.cartService.addToCart(cartProduct);\r\n console.log(cartProductRest)\r\n this.cartService.postOrderLine(cartProductRest).subscribe(res => {\r\n console.log(res)\r\n this.spinner.hide();\r\n if(res.status === 401){\r\n this.postOrder();\r\n }\r\n });\r\n }else{\r\n console.log(this.orderlines.find(items => items.sArticleCode === item.sArticleCode))\r\n if(this.orderlines.find(items => items.sArticleCode === item.sArticleCode)){\r\n console.log('item already in order')\r\n let sale = this.orderlines.find(items => items.sArticleCode === item.sArticleCode)\r\n this.orderline = sale\r\n // console.log(this.orderline.sArticleCode)\r\n // console.log(this.orderline.iLineID)\r\n // console.log(this.orderline.nAmount + item.nQuantity)\r\n let quantity = this.orderline.nAmount + item.nQuantity\r\n let index = this.orderline.iLineID;\r\n let cartProductRest = {\r\n \"sArticleCode\":item.sArticleCode,\r\n \"sBlArtKey\":\"\",\r\n \"nAmount\": quantity, \r\n };\r\n this.cartService.deleteOrderLine(cartProductRest, index).subscribe(res => {\r\n this.spinner.hide();\r\n // console.log(res)\r\n });\r\n // console.log('change web basket')\r\n \r\n }else{\r\n\r\n this.cartService.postOrderLine(cartProductRest).subscribe(res => {\r\n // console.log(res)\r\n this.spinner.hide();\r\n if(res.status === 401){\r\n // this.presentAlert();\r\n this.postOrder();\r\n }\r\n });\r\n \r\n }\r\n }\r\n\r\n // this.presentToast(cartProduct.sDescription1);\r\n }else{\r\n let cartProduct = {\r\n product_id: item.sArticleCode,\r\n sDescription1: item.sDescription1,\r\n sArticleBrand: item.sArticleBrand,\r\n sPromoImage: item.sPromoImage,\r\n sArticleCode: item.sArticleCode,\r\n sBlArtKey: item.sBlArtKey,\r\n nQuantityStep: item.nQuantityStep,\r\n nPriceFactor: item.nPriceFactor,\r\n curNetPrice: item.stPrice.curNetPrice,\r\n curNetPriceInc: item.stPrice.curNetPriceInc,\r\n count: item.nQuantity,\r\n iNbPoints: item.iNbPoints,\r\n totalPrice: productPrice\r\n };\r\n let cartProductRest = {\r\n \"sArticleCode\":item.sArticleCode,\r\n \"sBlArtKey\":this.blartkey,\r\n \"nAmount\": item.nQuantity, \r\n };\r\n\r\n if(!this.orderlines){\r\n\r\n // this.cartService.addToCart(cartProduct);\r\n this.cartService.postOrderLine(cartProductRest).subscribe(res => {\r\n this.spinner.hide();\r\n if(res.status === 401){\r\n this.postOrder();\r\n }\r\n });\r\n }else{\r\n if(this.orderlines.find(items => items.sArticleCode === item.sArticleCode)){\r\n console.log('item already in order')\r\n let sale = this.orderlines.find(items => items.sArticleCode === item.sArticleCode)\r\n this.orderline = sale\r\n\r\n let quantity = this.orderline.nAmount + item.nQuantity\r\n let index = this.orderline.iLineID;\r\n let cartProductRest = {\r\n \"sArticleCode\":item.sArticleCode,\r\n \"sBlArtKey\":\"\",\r\n \"nAmount\": quantity, \r\n };\r\n this.cartService.deleteOrderLine(cartProductRest, index).subscribe(res => {\r\n this.spinner.hide();\r\n });\r\n\r\n\r\n \r\n }else{\r\n console.log('New item in order')\r\n this.cartService.addToCart(cartProduct);\r\n console.log(cartProductRest)\r\n this.cartService.postOrderLine(cartProductRest).subscribe(res => {\r\n this.spinner.hide();\r\n console.log(res.status)\r\n if(res.status === 401){\r\n // this.presentAlert();\r\n \r\n this.postOrder();\r\n }\r\n });\r\n // console.log(this.cartService.postOrderLineNative(cartProductRest))\r\n // console.log('add native basket')\r\n \r\n }\r\n }\r\n\r\n // this.presentToast(cartProduct.sDescription1);\r\n }\r\n}, 2000);\r\n\r\n}else if(item.nQuantity === 0 || item.nQuantity === \"\" || isNaN(item.nQuantity)){\r\n // this.presentnorderfactor(item)\r\n}else{\r\n // this.presentnorderfactor(item)\r\n}\r\n}\r\n\r\n\r\npostOrder() {\r\n this.cartService.postOrder()\r\n .subscribe(data => {\r\n // console.log('responseorder', data);\r\n // console.log('native post order')\r\n this.cartService.postOrderNativeNumber(data)\r\n }, err => {\r\n // console.log(err);\r\n });\r\n}\r\n\r\nasync getOrderLines() {\r\n this.cartService.getOrderLine()\r\n .subscribe(data => {\r\n // console.log('orderlines data', data)\r\n if(data.status === 204 || data.status === 401){\r\n this.orderlines = '';\r\n }else{\r\n \r\n this.orderlines = data['stOrderLines']['arrOrderLine'];\r\n }\r\n this.orderlines = data['stOrderLines']['arrOrderLine'];\r\n // loading.dismiss();\r\n }, err => {\r\n // console.log(err);\r\n // loading.dismiss();\r\n });\r\n}\r\n\r\n\r\n public onMouseMove(e){\r\n if(window.innerWidth >= 1280){\r\n var image, offsetX, offsetY, x, y, zoomer;\r\n image = e.currentTarget;\r\n offsetX = e.offsetX;\r\n offsetY = e.offsetY;\r\n x = offsetX/image.offsetWidth*100;\r\n y = offsetY/image.offsetHeight*100;\r\n zoomer = this.zoomViewer.nativeElement.children[0];\r\n if(zoomer){\r\n zoomer.style.backgroundPosition = x + '% ' + y + '%';\r\n zoomer.style.display = \"block\";\r\n zoomer.style.height = image.height + 'px';\r\n zoomer.style.width = image.width + 'px';\r\n }\r\n }\r\n}\r\n\r\npublic onMouseLeave(event){\r\n this.zoomViewer.nativeElement.children[0].style.display = \"none\";\r\n}\r\n\r\npublic openZoomViewer(){\r\n this.dialog.open(ProductZoomComponent, {\r\n data: this.zoomImage,\r\n panelClass: 'zoom-dialog'\r\n });\r\n}\r\n\r\nfocus(event: any = {}, item:any) {\r\n // console.log('event focus', event)\r\n // this.focusquantity = parseInt(event.srcElement.value);\r\n // item.nQuantity = item.nQuantityStep \r\n item.amount = 1 * (item.stPrice.curNetPriceInc);\r\n console.log(event)\r\n if(isNaN(item.nQuantity)){\r\n console.log('is nan')\r\n item.nQuantity = item.nQuantityMin\r\n event.target.value = item.nQuantityMin\r\n event.target.value.replace(\",\", \"\");\r\n event.target.value.replace(\".\", \"\");\r\n item.amount = 1 * (item.stPrice.curNetPriceInc);\r\n }\r\n const searchTerm = event.target.value;\r\n // console.log(parseFloat(searchTerm));\r\n // item.nQuantity = parseFloat(searchTerm);\r\n // item.amount = item.nQuantity * (item.stPrice.curNetPriceInc);\r\n if(item.nOrderFactor>0) {\r\n var newvalue\t= Math.floor(searchTerm/parseFloat(item.nOrderFactor)) * parseFloat(item.nOrderFactor);\r\n\r\n if(newvalue!=searchTerm) {newvalue += parseFloat(item.nOrderFactor);}\r\n } else {\r\n item.nQuantity = newvalue;\r\n }\r\n\r\n if(parseFloat(searchTerm)>0) { if(newvalue > parseFloat(item.nQuantityMax)) { newvalue = parseFloat(item.nQuantityMax); } }\r\n if(newvalue < parseFloat(item.nQuantityMin)) { newvalue = parseFloat(item.nQuantityMin); }\r\n\r\n item.nQuantity\t= newvalue;\r\n \r\n}\r\n\r\nlosesFocus(event: any = {}, item:any) {\r\n console.log(event)\r\n if(isNaN(item.nQuantity)){\r\n // console.log('is nan')\r\n item.nQuantity = item.nQuantityMin\r\n item.amount = 1 * (item.stPrice.curNetPriceInc);\r\n }\r\n if(event.type === \"ionChange\"){\r\n if(event.target.value === \"\"){\r\n // console.log('is nan input')\r\n item.nQuantity = 1\r\n item.amount = 1 * (item.stPrice.curNetPriceInc);\r\n }else{\r\n var text = event.target.value\r\n var howManyCommasDoIHave = text.replace(\",\", \"\");\r\n var oke = howManyCommasDoIHave.replace(\".\", \"\");\r\n item.nQuantity = parseInt(oke)\r\n // console.log('wihoutcomma', howManyCommasDoIHave)\r\n }\r\n }else if(event.type === \"click\"){\r\n // const oke = item.nQuantity\r\n // console.log('grealet', oke)\r\n // const y = this.focusquantity\r\n // const yeah = oke + item.nQuantityStep;\r\n // console.log(yeah)\r\n // item.nQuantity = yeah\r\n item.nQuantity= isNaN(item.nQuantity) ? 0 : item.nQuantity;\r\n item.nQuantity = item.nQuantity + item.nQuantityStep;\r\n var newvalue = Math.floor(item.nQuantity/item.nQuantityStep) * item.nQuantityStep;\r\n if(newvalue < item.nQuantityMin) { newvalue = item.nQuantityMin;}\r\n if(item.nQuantityMax>0) { if(newvalue > item.nQuantityMax) { newvalue = item.nQuantityMax; } }\r\n item.nQuantity = newvalue\r\n }else{\r\n item.nQuantity = item.nQuantityStep\r\n }\r\n}\r\n\r\nlosesKGFocus(event: any = {}, item:any) {\r\n// console.log(event)\r\nif(isNaN(item.nQuantity)){\r\n // console.log('is nan')\r\n item.nQuantity = item.nQuantityMin\r\n item.amount = 1 * (item.stPrice.curNetPriceInc);\r\n}\r\nif(event.type === \"ionChange\"){\r\n if(event.detail.value === \"\"){\r\n // console.log('is nan input')\r\n item.nQuantity = parseFloat(item.nQuantityMin)\r\n item.amount = 1 * (item.stPrice.curNetPriceInc);\r\n }else{\r\n var text = event.detail.value\r\n // var howManyCommasDoIHave = text.replace(\",\", \"\");\r\n // var oke = howManyCommasDoIHave.replace(\".\", \"\");\r\n if(item.nOrderFactor === 1){\r\n item.nQuantity = parseFloat(event.detail.value)\r\n }else if(item.nOrderFactor > 1){\r\n var oke = parseFloat(event.detail.value)\r\n var yes = item.nQuantityStep + oke\r\n item.nQuantity = oke\r\n }\r\n }\r\n}else if(event.type === \"click\"){\r\n // const oke = item.nQuantity\r\n // console.log('grealet', oke)\r\n // const y = this.focusquantity\r\n // const yeah = oke + item.nQuantityStep;\r\n // console.log(yeah)\r\n // item.nQuantity = yeah\r\n item.nQuantity= isNaN(item.nQuantity) ? 0 : item.nQuantity;\r\n item.nQuantity = item.nQuantity + item.nQuantityStep;\r\n var newvalue = Math.floor(item.nQuantity/item.nQuantityStep) * item.nQuantityStep;\r\n if(newvalue < item.nQuantityMin) { newvalue = item.nQuantityMin;}\r\n if(item.nQuantityMax>0) { if(newvalue > item.nQuantityMax) { newvalue = item.nQuantityMax; } }\r\n item.nQuantity = newvalue\r\n}else{\r\n if(item.nOrderFactor === item.nQuantityStep){\r\n item.nQuantity = item.nQuantityStep\r\n }\r\n}\r\n}\r\n\r\nlosesMinFocus(event: any = {}, item:any) {\r\nconsole.log(event)\r\nif(isNaN(item.nQuantity)){\r\n // console.log('is nan')\r\n item.nQuantity = item.nQuantityMin\r\n item.amount = 1 * (item.stPrice.curNetPriceInc);\r\n}\r\nif(event.type === \"ionChange\"){\r\n if(event.detail.value === \"\"){\r\n // console.log('is nan input')\r\n item.nQuantity = item.nQuantityMin\r\n item.amount = 1 * (item.stPrice.curNetPriceInc);\r\n }else{\r\n item.nQuantity = parseFloat(event.detail.value)\r\n }\r\n}else if(event.type === \"click\"){\r\n item.nQuantity= isNaN(item.nQuantity) ? 0 : item.nQuantity;\r\n item.nQuantity = item.nQuantity - item.nQuantityStep;\r\n var newvalue = Math.floor(item.nQuantity/item.nQuantityStep) * item.nQuantityStep;\r\n if(newvalue < item.nQuantityMin) { newvalue = item.nQuantityMin;}\r\n if(item.nQuantityMax>0) { if(newvalue > item.nQuantityMax) { newvalue = item.nQuantityMax; } }\r\n item.nQuantity = newvalue\r\n}else{\r\n item.nQuantity = item.nQuantityStep\r\n}\r\n}\r\n\r\nlosesMinKGFocus(event: any = {}, item:any) {\r\n// console.log(event)\r\nif(isNaN(item.nQuantity)){\r\n// console.log('is nan')\r\nitem.nQuantity = item.nQuantityMin\r\nitem.amount = 1 * (item.stPrice.curNetPriceInc);\r\n}\r\nif(event.type === \"ionChange\"){\r\nif(event.detail.value === \"\"){\r\n // console.log('is nan input')\r\n item.nQuantity = item.nQuantityMin\r\n item.amount = 1 * (item.stPrice.curNetPriceInc);\r\n}else{\r\n var text = event.detail.value\r\n var howManyCommasDoIHave = text.replace(\",\", \"\");\r\n var oke = howManyCommasDoIHave.replace(\".\", \"\");\r\n item.nQuantity = parseFloat(event.detail.value)\r\n // console.log('wihoutcomma', howManyCommasDoIHave)\r\n}\r\n}else if(event.type === \"click\"){\r\nitem.nQuantity= isNaN(item.nQuantity) ? 0 : item.nQuantity;\r\nitem.nQuantity = item.nQuantity - item.nQuantityStep;\r\nvar newvalue = Math.floor(item.nQuantity/item.nQuantityStep) * item.nQuantityStep;\r\nif(newvalue < item.nQuantityMin) { newvalue = item.nQuantityMin;}\r\nif(item.nQuantityMax>0) { if(newvalue > item.nQuantityMax) { newvalue = item.nQuantityMax; } }\r\nitem.nQuantity = newvalue\r\n}else{\r\nitem.nQuantity = item.nQuantityStep\r\n}\r\n}\r\n\r\n\r\n\r\n}\r\n\r\n\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9wcm9kdWN0cy9wcm9kdWN0LWRldGFpbHMvcHJvZHVjdC16b29tL3Byb2R1Y3Qtem9vbS5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit, Inject, ViewEncapsulation, ViewChild } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport { ProductService } from 'src/app/components/shared/services/product.service';\nimport { Product } from 'src/app/modals/product.model';\n\n@Component({\n selector: 'app-product-zoom',\n templateUrl: './product-zoom.component.html',\n styleUrls: ['./product-zoom.component.sass'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ProductZoomComponent implements OnInit {\n public product;\n public selectedProductImageIndex;\n\n @ViewChild('zoomImage', { static: true }) zoomImage;\n\n constructor( private productsService: ProductService, public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: {product, index}) {\n this.product = data.product;\n this.selectedProductImageIndex = data.index;\n }\n\n ngOnInit() {\n\n }\n\n public close(): void {\n this.dialogRef.close();\n }\n\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9wcm9kdWN0cy9wcm9kdWN0LWRpYWxvZy9wcm9kdWN0LWRpYWxvZy5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { ProductService } from 'src/app/components/shared/services/product.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { Product } from 'src/app/modals/product.model';\r\nimport { CartService } from 'src/app/components/shared/services/cart.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-product-dialog',\r\n templateUrl: './product-dialog.component.html',\r\n styleUrls: ['./product-dialog.component.sass']\r\n})\r\nexport class ProductDialogComponent implements OnInit {\r\n\r\n public products : Product[] = [];\r\n public counter : number = 1;\r\n public variantImage : any = '';\r\n public selectedColor : any = '';\r\n public selectedSize : any = '';\r\n\r\n constructor(private router: Router, public productsService: ProductService, private cartService: CartService, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public product: Product) { }\r\n\r\n ngOnInit() {\r\n this.productsService.getProducts().subscribe(product => this.products = product);\r\n\r\n }\r\n\r\n\r\n public addToCart(product: Product, quantity) {\r\n if (quantity == 0) return false;\r\n this.cartService.addToCart(product, parseInt(quantity));\r\n }\r\n\r\n public close(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n public increment() {\r\n this.counter += 1;\r\n }\r\n\r\n public decrement() {\r\n if(this.counter >1){\r\n this.counter -= 1;\r\n }\r\n }\r\n\r\n // Add to cart\r\n public buyNow() {\r\n this.router.navigate(['/home/product', this.product.id]);\r\n this.close();\r\n }\r\n\r\n}\r\n","export default \".text-gray {\\n color: #aaa;\\n}\\n\\nimg {\\n height: 120px;\\n width: 120px;\\n}\\n\\n@media only screen and (max-width: 600px) {\\n .shadow {\\n height: 445px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9zaG9wL3Byb2R1Y3RzL3Byb2R1Y3QtbGVmdC1zaWRlYmFyL0M6XFxnaXRwcm9qZWN0ZW5cXHJlZHNvbi1wb3J0YWwvc3JjXFxhcHBcXGNvbXBvbmVudHNcXHNob3BcXHByb2R1Y3RzXFxwcm9kdWN0LWxlZnQtc2lkZWJhclxccHJvZHVjdC1sZWZ0LXNpZGViYXIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9wcm9kdWN0cy9wcm9kdWN0LWxlZnQtc2lkZWJhci9wcm9kdWN0LWxlZnQtc2lkZWJhci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNJLFdBQUE7QUNESjs7QURJQTtFQUNJLGFBQUE7RUFDQSxZQUFBO0FDREo7O0FESUE7RUFDSTtJQUNFLGFBQUE7RUNESjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9zaG9wL3Byb2R1Y3RzL3Byb2R1Y3QtbGVmdC1zaWRlYmFyL3Byb2R1Y3QtbGVmdC1zaWRlYmFyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbi50ZXh0LWdyYXkge1xuICAgIGNvbG9yOiAjYWFhXG59XG5cbmltZyB7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICB3aWR0aDogMTIwcHhcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5zaGFkb3cge1xuICAgICAgaGVpZ2h0OjQ0NXB4O1xuICAgIH1cbiAgfSIsIi50ZXh0LWdyYXkge1xuICBjb2xvcjogI2FhYTtcbn1cblxuaW1nIHtcbiAgaGVpZ2h0OiAxMjBweDtcbiAgd2lkdGg6IDEyMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5zaGFkb3cge1xuICAgIGhlaWdodDogNDQ1cHg7XG4gIH1cbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { ProductService } from 'src/app/components/shared/services/product.service';\r\nimport { ActivatedRoute, Params } from '@angular/router';\r\nimport { Product, ColorFilter } from 'src/app/modals/product.model';\r\nimport { Router } from '@angular/router';\r\nimport { CategoryService } from '../../../../services/category.service';\r\nimport { AuthService } from '../../../../services/auth.service';\r\nimport { NgxSpinnerService } from \"ngx-spinner\"; \r\nimport { faTh, faList } from '@fortawesome/free-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'app-product-left-sidebar',\r\n templateUrl: './product-left-sidebar.component.html',\r\n styleUrls: ['./product-left-sidebar.component.scss']\r\n})\r\nexport class ProductLeftSidebarComponent implements OnInit {\r\n faTh = faTh;\r\n faList = faList;\r\n list = false;\r\n grid = true;\r\n public sidenavOpen:boolean = true;\r\n public categories: any;\r\n public animation : any; // Animation\r\n public sortByOrder : string = ''; // sorting\r\n public page:any;\r\n public tagsFilters : any[] = [];\r\n public viewType: string = 'grid';\r\n public viewCol: number = 25;\r\n public colorFilters : ColorFilter[] = [];\r\n shopimagesmedium = \"https://msgcms.msgsoftware.nl/msgcms_web/RED/ShopImagesMedium/\";\r\n\r\n public items : Product[] = [];\r\n public allItems: Product[] = [];\r\n public products: Product[] = [];\r\n public tags : any[] = [];\r\n public colors : any[] = [];\r\n\r\n constructor(private spinner: NgxSpinnerService, private router: Router,private api2: CategoryService,private authService: AuthService,private productService: ProductService, private route: ActivatedRoute) {\r\n this.route.params.subscribe(\r\n (params: Params) => {\r\n const category = params['category'];\r\n this.productService.getProductByCategory(category).subscribe(products => {\r\n this.allItems = products;\r\n this.products = products.slice(0.8);\r\n this.getTags(products)\r\n this.getColors(products)\r\n this.getCategories();\r\n })\r\n }\r\n )\r\n }\r\n\r\n ChangeGrid() {\r\n this.grid = true;\r\n this.list = false;\r\n }\r\n ChangeList() {\r\n this.grid = false;\r\n this.list = true;\r\n }\r\n\r\n async getCategories() {\r\n this.spinner.show(); \r\n this.api2.getCategories()\r\n .subscribe(res => {\r\n // console.log('categories', res);\r\n if(res){\r\n this.categories = res['stNavMenu']['arrMenuGroup'];\r\n this.spinner.hide();\r\n }\r\n // loading.dismiss();\r\n }, err => {\r\n console.log(err);\r\n // loading.dismiss();\r\n });\r\n }\r\n\r\n\r\n\r\n // Get current product tags\r\n public getTags(products) {\r\n var uniqueBrands = []\r\n var itemBrand = Array();\r\n products.map((product, index) => {\r\n if(product.tags) {\r\n product.tags.map((tag) => {\r\n const index = uniqueBrands.indexOf(tag);\r\n if(index === -1) uniqueBrands.push(tag);\r\n })\r\n }\r\n });\r\n for (var i = 0; i < uniqueBrands.length; i++) {\r\n itemBrand.push({brand:uniqueBrands[i]})\r\n }\r\n this.tags = itemBrand\r\n }\r\n\r\n // Get current product colors\r\n public getColors(products) {\r\n var uniqueColors = []\r\n var itemColor = Array();\r\n products.map((product, index) => {\r\n if(product.colors) {\r\n product.colors.map((color) => {\r\n const index = uniqueColors.indexOf(color);\r\n if(index === -1) uniqueColors.push(color);\r\n })\r\n }\r\n });\r\n for (var i = 0; i < uniqueColors.length; i++) {\r\n itemColor.push({color:uniqueColors[i]})\r\n }\r\n this.colors = itemColor\r\n }\r\n\r\n ngOnInit() {\r\n if(this.authService.CheckGuestLoginUser()){\r\n console.log('ur still right')\r\n }else{\r\n this.Guestlogin();\r\n }\r\n // this.postOrder();\r\n // this.getOrderlist();\r\n // setTimeout(() => {\r\n if(this.authService.checkGuestLogin()){\r\n\r\n }else{\r\n // this.getOrderlist();\r\n // this.getClientInfo();\r\n }\r\n }\r\n\r\n Guestlogin() {\r\n\r\n // let loader = this.loadingCtrl.create({\r\n // content: 'Authenticating..'\r\n // });\r\n // loader.present();\r\n let me=this;\r\n let loginParams = null\r\n // console.log(this.email);\r\n console.log('empty2', loginParams);\r\n\r\n this.authService.Guestlogin().then(res => {\r\n \r\n console.log('test login page', JSON.stringify(res));\r\n // this.navigateTo('/1//home');\r\n // this.authService.guestlogin(JSON.stringify(res));\r\n console.log\r\n // this.authService.guestlogin(JSON.parse(res.data));\r\n \r\n });\r\n \r\n \r\n // this.authService.Guestlogin().then(res => {\r\n // this.navigateTo('/1//home');\r\n // });\r\n\r\n console.log(this.authService.iPbmMode);\r\n \r\n // }\r\n \r\n }\r\n\r\n\r\n\r\n public changeViewType(viewType, viewCol){\r\n this.viewType = viewType;\r\n this.viewCol = viewCol;\r\n }\r\n // Animation Effect fadeIn\r\n public fadeIn() {\r\n this.animation = 'fadeIn';\r\n }\r\n\r\n // Animation Effect fadeOut\r\n public fadeOut() {\r\n this.animation = 'fadeOut';\r\n }\r\n\r\n // Update tags filter\r\n public updateTagFilters(tags: any[]) {\r\n this.tagsFilters = tags;\r\n this.animation == 'fadeOut' ? this.fadeIn() : this.fadeOut(); // animation\r\n }\r\n\r\n\r\n\r\n // sorting type ASC / DESC / A-Z / Z-A etc.\r\n public onChangeSorting(val) {\r\n this.sortByOrder = val;\r\n this.animation == 'fadeOut' ? this.fadeIn() : this.fadeOut(); // animation\r\n }\r\n\r\n // Initialize filetr Items\r\n public filterItems(): Product[] {\r\n return this.items.filter((item: Product) => {\r\n const Colors: boolean = this.colorFilters.reduce((prev, curr) => { // Match Color\r\n if(item.colors){\r\n if (item.colors.includes(curr.color)) {\r\n return prev && true;\r\n }\r\n }\r\n }, true);\r\n const Tags: boolean = this.tagsFilters.reduce((prev, curr) => { // Match Tags\r\n if(item.tags) {\r\n if (item.tags.includes(curr)) {\r\n return prev && true;\r\n }\r\n }\r\n }, true);\r\n return Colors && Tags; // return true\r\n });\r\n\r\n}\r\n\r\npublic onPageChanged(event){\r\n this.page = event;\r\n this.allItems;\r\n window.scrollTo(0,0);\r\n}\r\n\r\n\r\n // Update price filter\r\n// public updatePriceFilters(price: any) {\r\n// let items: any[] = [];\r\n// this.products.filter((item: Product) => {\r\n// if (item.price >= price[0] && item.price <= price[1] ) {\r\n// items.push(item); // push in array\r\n// }\r\n// });\r\n// this.items = items;\r\n// }\r\n\r\n\r\n // Update price filter\r\n public updatePriceFilters(price: any) {\r\n console.log(price);\r\n console.log(this.products);\r\n\r\n\r\n this.allItems = this.products.filter((item: Product) => {\r\n return item.price >= price.priceFrom && item.price <= price.priceTo\r\n });\r\n console.log(this.products);\r\n\r\n}\r\n\r\nonBrendsChanged(newBrend) {\r\n console.log(newBrend);\r\n this.allItems = newBrend === 'all' ? this.products : this.products.filter(\r\n\r\n item => item.brand === newBrend\r\n )\r\n console.log(this.allItems);\r\n\r\n\r\n}\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9wcm9kdWN0cy9wcm9kdWN0LXNlYXJjaC9wcm9kdWN0LXNlYXJjaC5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-product-search',\n templateUrl: './product-search.component.html',\n styleUrls: ['./product-search.component.sass']\n})\nexport class ProductSearchComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9wcm9kdWN0cy9wcm9kdWN0LXN1YmNhdGVnb3J5L3Byb2R1Y3Qtc3ViY2F0ZWdvcnkuY29tcG9uZW50LnNhc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { ProductService } from 'src/app/components/shared/services/product.service';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { Product, ColorFilter } from 'src/app/modals/product.model';\nimport { Router } from '@angular/router';\nimport { CategoryService } from '../../../../services/category.service';\nimport { AuthService } from '../../../../services/auth.service';\nimport { NgxSpinnerService } from \"ngx-spinner\"; \nimport { faTh, faList } from '@fortawesome/free-solid-svg-icons';\n@Component({\n selector: 'app-product-subcategory',\n templateUrl: './product-subcategory.component.html',\n styleUrls: ['./product-subcategory.component.sass']\n})\nexport class ProductSubcategoryComponent implements OnInit {\n public sidenavOpen:boolean = true;\n public categories: any;\n faTh = faTh;\n faList = faList;\n list = false;\n grid = true;\n public animation : any; // Animation\n public sortByOrder : string = ''; // sorting\n public page:any;\n public tagsFilters : any[] = [];\n public viewType: string = 'grid';\n public viewCol: number = 25;\n public colorFilters : ColorFilter[] = [];\n shopimagesmedium = \"https://msgcms.msgsoftware.nl/msgcms_web/RED/ShopImagesMedium/\";\n\n public items : Product[] = [];\n public allItems: Product[] = [];\n public products: Product[] = [];\n public tags : any[] = [];\n public colors : any[] = [];\n\n constructor(private router: Router,private spinner: NgxSpinnerService, private api2: CategoryService,private authService: AuthService,private productService: ProductService, private route: ActivatedRoute) {\n this.route.params.subscribe(\n (params: Params) => {\n const category = params['subcategory'];\n this.productService.getProductByCategory(category).subscribe(products => {\n this.allItems = products;\n this.products = products.slice(0.8);\n this.getTags(products)\n this.getColors(products)\n this.getCategories(category);\n })\n }\n )\n }\n\n async getCategories(category) {\n this.spinner.show(); \n this.api2.getSubCategories(category)\n .subscribe(res => {\n console.log('categories', res);\n if(res){\n this.categories = res['stNavMenu']['arrMenuGroup'];\n this.spinner.hide();\n }\n // loading.dismiss();\n }, err => {\n console.log(err);\n // loading.dismiss();\n });\n }\n\n ChangeGrid() {\n this.grid = true;\n this.list = false;\n }\n ChangeList() {\n this.grid = false;\n this.list = true;\n }\n\n\n\n // Get current product tags\n public getTags(products) {\n var uniqueBrands = []\n var itemBrand = Array();\n products.map((product, index) => {\n if(product.tags) {\n product.tags.map((tag) => {\n const index = uniqueBrands.indexOf(tag);\n if(index === -1) uniqueBrands.push(tag);\n })\n }\n });\n for (var i = 0; i < uniqueBrands.length; i++) {\n itemBrand.push({brand:uniqueBrands[i]})\n }\n this.tags = itemBrand\n }\n\n // Get current product colors\n public getColors(products) {\n var uniqueColors = []\n var itemColor = Array();\n products.map((product, index) => {\n if(product.colors) {\n product.colors.map((color) => {\n const index = uniqueColors.indexOf(color);\n if(index === -1) uniqueColors.push(color);\n })\n }\n });\n for (var i = 0; i < uniqueColors.length; i++) {\n itemColor.push({color:uniqueColors[i]})\n }\n this.colors = itemColor\n }\n\n ngOnInit() {\n if(this.authService.CheckGuestLoginUser()){\n console.log('ur still right')\n }else{\n this.Guestlogin();\n }\n // this.postOrder();\n // this.getOrderlist();\n // setTimeout(() => {\n if(this.authService.checkGuestLogin()){\n\n }else{\n // this.getOrderlist();\n // this.getClientInfo();\n }\n }\n\n Guestlogin() {\n\n // let loader = this.loadingCtrl.create({\n // content: 'Authenticating..'\n // });\n // loader.present();\n let me=this;\n let loginParams = null\n // console.log(this.email);\n console.log('empty2', loginParams);\n\n this.authService.Guestlogin().then(res => {\n \n console.log('test login page', JSON.stringify(res));\n // this.navigateTo('/1//home');\n // this.authService.guestlogin(JSON.stringify(res));\n console.log\n // this.authService.guestlogin(JSON.parse(res.data));\n \n });\n \n \n // this.authService.Guestlogin().then(res => {\n // this.navigateTo('/1//home');\n // });\n\n console.log(this.authService.iPbmMode);\n \n // }\n \n }\n\n\n\n public changeViewType(viewType, viewCol){\n this.viewType = viewType;\n this.viewCol = viewCol;\n }\n // Animation Effect fadeIn\n public fadeIn() {\n this.animation = 'fadeIn';\n }\n\n // Animation Effect fadeOut\n public fadeOut() {\n this.animation = 'fadeOut';\n }\n\n // Update tags filter\n public updateTagFilters(tags: any[]) {\n this.tagsFilters = tags;\n this.animation == 'fadeOut' ? this.fadeIn() : this.fadeOut(); // animation\n }\n\n\n\n // sorting type ASC / DESC / A-Z / Z-A etc.\n public onChangeSorting(val) {\n this.sortByOrder = val;\n this.animation == 'fadeOut' ? this.fadeIn() : this.fadeOut(); // animation\n }\n\n // Initialize filetr Items\n public filterItems(): Product[] {\n return this.items.filter((item: Product) => {\n const Colors: boolean = this.colorFilters.reduce((prev, curr) => { // Match Color\n if(item.colors){\n if (item.colors.includes(curr.color)) {\n return prev && true;\n }\n }\n }, true);\n const Tags: boolean = this.tagsFilters.reduce((prev, curr) => { // Match Tags\n if(item.tags) {\n if (item.tags.includes(curr)) {\n return prev && true;\n }\n }\n }, true);\n return Colors && Tags; // return true\n });\n\n}\n\npublic onPageChanged(event){\n this.page = event;\n this.allItems;\n window.scrollTo(0,0);\n}\n\n\n // Update price filter\n// public updatePriceFilters(price: any) {\n// let items: any[] = [];\n// this.products.filter((item: Product) => {\n// if (item.price >= price[0] && item.price <= price[1] ) {\n// items.push(item); // push in array\n// }\n// });\n// this.items = items;\n// }\n\n\n // Update price filter\n public updatePriceFilters(price: any) {\n console.log(price);\n console.log(this.products);\n\n\n this.allItems = this.products.filter((item: Product) => {\n return item.price >= price.priceFrom && item.price <= price.priceTo\n });\n console.log(this.products);\n\n}\n\nonBrendsChanged(newBrend) {\n console.log(newBrend);\n this.allItems = newBrend === 'all' ? this.products : this.products.filter(\n\n item => item.brand === newBrend\n )\n console.log(this.allItems);\n\n\n}\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9wcm9kdWN0cy9wcm9kdWN0LXZhcmlhbnQvcHJvZHVjdC12YXJpYW50LmNvbXBvbmVudC5zYXNzIn0= */\"","import { Component, OnInit } from '@angular/core';\nimport { ProductService } from '../../../../services/product.service';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { AuthService } from '../../../../services/auth.service';\n\n\n@Component({\n selector: 'app-product-variant',\n templateUrl: './product-variant.component.html',\n styleUrls: ['./product-variant.component.sass']\n})\nexport class ProductVariantComponent implements OnInit {\n public params: any = {};\n item:any\n items:any\n properties:any;\n variants:any;\n productid:any;\n constructor(private route: ActivatedRoute, public authService: AuthService, public productService: ProductService, private router: Router) { }\n\n ngOnInit(): void {\n this.productid = this.route.snapshot.params.id;\n this.params.id = this.productid\n console.log(this.productid)\n this.loadProducts(this.productid)\n }\n\n async loadProducts(item:any) {\n this.productService.getProductsByCategory(item)\n .subscribe(res => {\n console.log('products', res);\n if(res){\n this.items = res['stArticles']['arrArticleInList'];\n }\n }, err => {\n console.log(err);\n });\n }\n\n async Go(item:any) {\n const url = this.router.url.split('?')[0];\n console.log(url)\n this.router.navigate(['/product/' + item]);\n \n }\n \n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9wcm9kdWN0cy9wcm9kdWN0LXZlcnRpY2FsL3Byb2R1Y3QtdmVydGljYWwuY29tcG9uZW50LnNhc3MifQ== */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ProductService } from 'src/app/components/shared/services/product.service';\r\nimport { Product } from 'src/app/modals/product.model';\r\n\r\n@Component({\r\n selector: 'app-product-vertical',\r\n templateUrl: './product-vertical.component.html',\r\n styleUrls: ['./product-vertical.component.sass']\r\n})\r\nexport class ProductVerticalComponent implements OnInit {\r\n\r\n @Input() products: Product[];\r\n\r\n constructor(private productService: ProductService ) { }\r\n\r\n ngOnInit() {\r\n this.productService.getProducts()\r\n .subscribe (\r\n product => this.products = product\r\n )\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9wcm9kdWN0cy9wcm9kdWN0L3Byb2R1Y3QuY29tcG9uZW50LnNhc3MifQ== */\"","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { CartService } from 'src/app/components/shared/services/cart.service';\r\nimport { ProductService } from 'src/app/components/shared/services/product.service';\r\nimport { WishlistService } from 'src/app/components/shared/services/wishlist.service';\r\nimport { MatDialog } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport { Product } from 'src/app/modals/product.model';\r\nimport { ProductDialogComponent } from '../product-dialog/product-dialog.component';\r\n\r\n@Component({\r\n selector: 'app-product',\r\n templateUrl: './product.component.html',\r\n styleUrls: ['./product.component.sass']\r\n})\r\nexport class ProductComponent implements OnInit {\r\n\r\n @Output() onOpenProductDialog: EventEmitter = new EventEmitter();\r\n @Input() product: Product;\r\n\r\n constructor(private cartService: CartService, public productsService: ProductService, private wishlistService: WishlistService, private dialog: MatDialog, private router: Router ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n // Add to cart\r\n public addToCart(product: Product, quantity: number = 1) {\r\n this.cartService.addToCart(product,quantity);\r\n console.log(product, quantity);\r\n }\r\n\r\n // Add to wishlist\r\n public addToWishlist(product: Product) {\r\n this.wishlistService.addToWishlist(product);\r\n }\r\n\r\n // Add to compare\r\n public addToCompare(product: Product) {\r\n this.productsService.addToCompare(product);\r\n }\r\n\r\n\r\n public openProductDialog(product){\r\n let dialogRef = this.dialog.open(ProductDialogComponent, {\r\n data: product,\r\n panelClass: 'product-dialog',\r\n });\r\n dialogRef.afterClosed().subscribe(product => {\r\n if(product){\r\n this.router.navigate(['/products', product.id, product.name]);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC9wcm9kdWN0cy9wcm9kdWN0cy5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-products',\r\n templateUrl: './products.component.html',\r\n styleUrls: ['./products.component.sass']\r\n})\r\nexport class ProductsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { ProductDetailsComponent } from './products/product-details/product-details.component';\r\nimport { ProductLeftSidebarComponent } from './products/product-left-sidebar/product-left-sidebar.component';\r\nimport { ProductCategoryComponent } from './products/product-category/product-category.component';\r\nimport { ProductSubcategoryComponent } from './products/product-subcategory/product-subcategory.component';\r\nimport { HomeTwoComponent } from './home-two/home-two.component';\r\nimport { HomeThreeComponent } from './home-three/home-three.component';\r\nimport { HomeFourComponent } from './home-four/home-four.component';\r\nimport { HomeFiveComponent } from './home-five/home-five.component';\r\nimport { ThanksComponent } from '../../components/pages/thanks/thanks.component';\r\nimport { ProductVariantComponent } from './products/product-variant/product-variant.component';\r\n\r\n\r\n// Routes\r\nconst routes: Routes = [\r\n { path: '', component: ProductLeftSidebarComponent },\r\n { path: 'one', component: HomeComponent },\r\n { path: 'two', component: HomeTwoComponent },\r\n { path: 'three', component: HomeThreeComponent },\r\n { path: 'four', component: HomeFourComponent },\r\n { path: 'five', component: HomeFiveComponent },\r\n { path: 'webshop/:category', component: ProductCategoryComponent },\r\n { path: 'webshop/category/:subcategory', component: ProductSubcategoryComponent },\r\n { path: 'webshop/search/:search', component: ProductCategoryComponent },\r\n { path: 'product/:id', component: ProductDetailsComponent },\r\n { path: 'product/variant/:id', component: ProductVariantComponent },\r\n { path: 'thanks', component: ThanksComponent },\r\n\r\n];\r\n\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ShopRoutingModule { }\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MainCarouselComponent } from './main-carousel/main-carousel.component';\r\nimport { PriceComponent } from './products/price/price.component';\r\nimport { ProductsComponent } from './products/products.component';\r\nimport { ProductComponent } from './products/product/product.component';\r\nimport { ProductDetailsComponent } from './products/product-details/product-details.component';\r\nimport { ProductDialogComponent } from './products/product-dialog/product-dialog.component';\r\nimport { ProductLeftSidebarComponent } from './products/product-left-sidebar/product-left-sidebar.component';\r\nimport { ProductVerticalComponent } from './products/product-vertical/product-vertical.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ShopRoutingModule } from './shop-routing.module';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { SwiperModule } from 'ngx-swiper-wrapper';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport {NgxPaginationModule} from 'ngx-pagination';\r\nimport { HomeTwoComponent } from './home-two/home-two.component';\r\nimport { HomeThreeComponent } from './home-three/home-three.component';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n// Import the library\r\nimport { NgxImageZoomModule } from 'ngx-image-zoom';\r\n\r\nimport { ProductCarouselComponent } from './../shop/home/product-carousel/product-carousel.component';\r\nimport { from } from 'rxjs';\r\nimport { ProductCarouselTwoComponent } from './home-two/product-carousel-two/product-carousel-two.component';\r\nimport { ProductCarouselThreeComponent } from './home-three/product-carousel-three/product-carousel-three.component';\r\nimport { BrandsComponent } from './widgets/brands/brands.component';\r\nimport { CategoriesComponent } from './widgets/categories/categories.component';\r\nimport { PopularProductsComponent } from './widgets/popular-products/popular-products.component';\r\nimport { HomeFourComponent } from './home-four/home-four.component';\r\nimport { ProductZoomComponent } from './products/product-details/product-zoom/product-zoom.component';\r\nimport { HomeFiveComponent } from './home-five/home-five.component';\r\nimport { ProductCategoryComponent } from './products/product-category/product-category.component';\r\nimport { ThanksComponent } from '../../components/pages/thanks/thanks.component';\r\nimport { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';\r\nimport { ProductSubcategoryComponent } from './products/product-subcategory/product-subcategory.component';\r\nimport { ProductSearchComponent } from './products/product-search/product-search.component';\r\nimport { ProductVariantComponent } from './products/product-variant/product-variant.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@NgModule({\r\n declarations: [\r\n HomeComponent,\r\n MainCarouselComponent,\r\n ProductsComponent,\r\n PriceComponent,\r\n ProductComponent,\r\n ProductDetailsComponent,\r\n ProductDialogComponent,\r\n ProductCategoryComponent,\r\n ProductLeftSidebarComponent,\r\n ProductVerticalComponent,\r\n HomeTwoComponent,\r\n HomeThreeComponent,\r\n ThanksComponent,\r\n ProductCarouselComponent,\r\n ProductCarouselTwoComponent,\r\n ProductCarouselThreeComponent,\r\n BrandsComponent,\r\n CategoriesComponent,\r\n PopularProductsComponent,\r\n HomeFourComponent,\r\n ProductZoomComponent,\r\n HomeFiveComponent,\r\n ProductCategoryComponent,\r\n ProductSubcategoryComponent,\r\n ProductSearchComponent,\r\n ProductVariantComponent,\r\n ],\r\n imports: [\r\n ShopRoutingModule,\r\n SharedModule,\r\n SwiperModule,\r\n FormsModule,\r\n FontAwesomeModule,\r\n ReactiveFormsModule,\r\n NgxSkeletonLoaderModule,\r\n CommonModule,\r\n FlexLayoutModule,\r\n NgbModule,\r\n NgxPaginationModule,\r\n NgxImageZoomModule.forRoot() // <-- Add this line\r\n\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ],\r\n exports: [\r\n ProductDialogComponent,\r\n ProductZoomComponent\r\n\r\n ],\r\n\r\n entryComponents:[\r\n ProductDialogComponent,\r\n ProductZoomComponent\r\n ],\r\n})\r\n\r\nexport class ShopModule { }\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC93aWRnZXRzL2JyYW5kcy9icmFuZHMuY29tcG9uZW50LnNhc3MifQ== */\"","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-brands',\r\n templateUrl: './brands.component.html',\r\n styleUrls: ['./brands.component.sass']\r\n})\r\nexport class BrandsComponent implements OnInit {\r\n\r\n // brands: string[] = ['all', 'Lenovo', 'Dell', 'Dell', 'Lg', 'Samsung'];\r\n brands: string[] = ['all', 'Brand-1', 'Brand-2', 'Brand-3', 'Brand-4', 'Brand-5'];\r\n\r\n @Output() brandChanged = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n\r\n brendSelect(event) {\r\n this.brandChanged.emit(\r\n event.value\r\n );\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC93aWRnZXRzL2NhdGVnb3JpZXMvY2F0ZWdvcmllcy5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-categories',\r\n templateUrl: './categories.component.html',\r\n styleUrls: ['./categories.component.sass']\r\n})\r\nexport class CategoriesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2hvcC93aWRnZXRzL3BvcHVsYXItcHJvZHVjdHMvcG9wdWxhci1wcm9kdWN0cy5jb21wb25lbnQuc2FzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Product } from 'src/app/modals/product.model';\r\nimport { ProductService } from 'src/app/components/shared/services/product.service';\r\n\r\n@Component({\r\n selector: 'app-popular-products',\r\n templateUrl: './popular-products.component.html',\r\n styleUrls: ['./popular-products.component.sass']\r\n})\r\nexport class PopularProductsComponent implements OnInit {\r\n\r\n public products: Product[];\r\n public product : Product = {};\r\n \r\n constructor(private productService: ProductService) { }\r\n \r\n ngOnInit() {\r\n this.productService.getProducts().subscribe(product => this.products = product);\r\n }\r\n}\r\n","// Product Tag\r\nexport type ProductTags = 'nike' | 'puma' | 'lifestyle' | 'caprese';\r\n\r\n// Product Colors\r\nexport type ProductColor = 'white' | 'black' | 'red' | 'green' | 'purple' | 'yellow' | 'blue' | 'gray' | 'orange' | 'pink';\r\n\r\n\r\n\r\nexport class Product {\r\n id?: number;\r\n name?: string;\r\n price?: number;\r\n salePrice?: number;\r\n discount?: number;\r\n pictures?: string;\r\n shortDetails?: string;\r\n description?: string;\r\n stock?: number;\r\n newPro?: boolean;\r\n brand?: string;\r\n sale?: boolean;\r\n category?: string;\r\n tags?: ProductTags[];\r\n colors?: ProductColor[];\r\n\r\n constructor(\r\n id?: number,\r\n name?: string,\r\n price?: number,\r\n salePrice?: number,\r\n discount?: number,\r\n pictures?: string,\r\n shortDetails?: string,\r\n description?: string,\r\n stock?: number,\r\n newPro?: boolean,\r\n brand?: string,\r\n sale?: boolean,\r\n category?: string,\r\n tags?: ProductTags[],\r\n colors?: ProductColor[]\r\n ) {\r\n this.id = id;\r\n this.name = name;\r\n this.price = price;\r\n this.salePrice = salePrice;\r\n this.discount = discount;\r\n this.pictures = pictures;\r\n this.shortDetails = shortDetails;\r\n this.description = description;\r\n this.stock = stock;\r\n this.newPro = newPro;\r\n this.brand = brand;\r\n this.sale = sale;\r\n this.category = category;\r\n this.tags = tags;\r\n this.colors = colors;\r\n }\r\n\r\n }\r\n // Color Filter\r\n export interface ColorFilter {\r\n color?: ProductColor;\r\n }\r\n","import { Injectable } from '@angular/core';\nimport { of, throwError } from 'rxjs';\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\nimport { forkJoin } from 'rxjs';\n// import { Platform } from '@ionic/angular';\n// import { HTTP, HTTPResponse } from '@ionic-native/http/ngx';\nimport { map } from 'rxjs/operators';\n// import { Storage } from '@ionic/storage';\nimport { from } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\n// import * as sha512 from 'js-sha512';\nimport * as sha512 from 'sha512';\nimport * as CryptoJS from 'crypto-js';\nimport { Observable } from 'rxjs';\n// import 'rxjs/add/operator/toPromise';\nimport base64url from \"base64url\";\n// import { Observable } from 'rxjs/Observable';\n// import 'rxjs/add/observable/fromPromise';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n userKey = 'my-user-group';\n user: any;\n userid: any;\n PBMuserKey = 'my-user-group';\n PBMuser: any;\n isLoggedIn = false;\n AuthToken: string;\n SalesAuthToken: string\n bAllowPbm: any;\n bAllowShop: any;\n FullName: any;\n iPriceType:any;\n PBMAuthToken: string;\n iUserId: any;\n iClient: any;\n iPbmMode: any;\n login2: any\n iUserType: any;\n iSalesUserType: any;\n bLoggedIn: any;\n fullname: string;\n item: any;\n OrderNumber: any;\n constructor(private http: HttpClient) { \n // this.loadUserCredentials();\n\n }\n\n // async login(loginParams){\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin' , '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept','application/json');\n // headers.append('content-type','application/json');\n // let url = '/Authorisation'; \n // console.log(JSON.stringify(loginParams));\n // let user = this.http.post(url, JSON.stringify(loginParams), options)\n // .subscribe( data => {\n // if(data.['stAuthResp']){\n // this.storeUserCredentials(data.['stAuthResp'].sSessionID);\n // this.storeUserID(data.['stAuthResp'].iUserId);\n // this.storage.set('userToken', this.AuthToken);\n // this.storePBM(data.['stAuthResp'].iPbmMode);\n // console.log(data.['stAuthResp'].iPbmMode);\n // console.log(data.json());\n // this.userFullname(data.['stAuthResp'].sFullName);\n // resolve(true);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n public checkOrderNumber(): boolean {\n if (window.localStorage.getItem('OrderNumber') === \"0\" || window.localStorage.getItem('OrderNumber') === null || window.localStorage.getItem('OrderNumber') === \"undefined\") {\n return true\n } else {\n return false;\n };\n }\n\n public checkGuestLogin(): boolean {\n if (window.localStorage.getItem('iClient') === \"300000\") {\n return true\n } else {\n return false;\n };\n }\n\n\n public checkPriceTypeNoPrice(): boolean {\n if (window.localStorage.getItem('PriceType') === \"0\") {\n return true\n } else {\n return false;\n };\n }\n\n public checkPriceTypeGrossPrice(): boolean {\n if (window.localStorage.getItem('PriceType') === \"1\") {\n return true\n } else {\n return false;\n };\n }\n\n public checkPriceTypeNettoPriceExcl(): boolean {\n if (window.localStorage.getItem('PriceType') === \"2\") {\n return true\n } else {\n return false;\n };\n }\n\n public checkPriceTypeNettoPriceIncl(): boolean {\n if (window.localStorage.getItem('PriceType') === \"3\") {\n return true\n } else {\n return false;\n };\n }\n\n public checkPBMOrderNumber(): boolean {\n if (window.localStorage.getItem('PBMOrderNumber') === \"0\" || window.localStorage.getItem('PBMOrderNumber') === null || window.localStorage.getItem('PBMOrderNumber') === \"undefined\") {\n return true\n } else {\n return false;\n };\n }\n\n public localAgent(): boolean {\n if (window.localStorage.getItem(\"iSalesUserType\") === \"5\") {\n return true\n } else {\n return false;\n };\n }\n\n public CheckLoginUser(): boolean {\n if (window.localStorage.getItem('bLoggedIn') === \"true\") {\n return true\n } else {\n return false;\n };\n }\n\n public CheckGuestLoginUser(): boolean {\n if (window.localStorage.getItem('bLoggedIn') === \"false\" || window.localStorage.getItem('bLoggedIn') === \"true\") {\n return true\n } else {\n return false;\n };\n }\n\n\n public CheckLoginToken(): boolean {\n if (window.localStorage.getItem('checktokenloginUser') === \"false\" || window.localStorage.getItem('checktokenloginUser') === \"\" || window.localStorage.getItem('checktokenloginUser') === null) {\n return true\n } else {\n return false;\n };\n }\n\n public localUser(): boolean {\n if (window.localStorage.getItem(\"iUserType\") === \"0\") {\n return true\n } else {\n return false;\n };\n }\n\n public SalesMan(): boolean {\n if (window.localStorage.getItem(\"iUserType\") === \"5\") {\n return true\n } else {\n return false;\n };\n }\n\n public localStorageItem(): boolean {\n if (window.localStorage.getItem(\"iUserType\") === \"1\" || window.localStorage.getItem(\"iUserType\") === \"5\" || window.localStorage.getItem(\"iUserType\") === \"2\") {\n return true\n } else {\n return false;\n };\n }\n\n public localAllowPbm(): boolean {\n if (window.localStorage.getItem(\"bAllowPbm\") === \"true\") {\n return true\n } else {\n return false;\n };\n }\n\n public localCartStorageItem(): boolean {\n if (window.localStorage.getItem(\"iPbmMode\") === \"0\" || window.localStorage.getItem(\"iPbmMode\") === \"-1\") {\n return true\n } else {\n return false;\n };\n }\n\n public localPBMCartStorageItem(): boolean {\n if (window.localStorage.getItem(\"iPbmMode\") === \"1\") {\n return true\n } else {\n return false;\n };\n }\n\n public orderlist(): boolean {\n if (window.localStorage.getItem(\"iPbmMode\") === \"-1\") {\n return true\n } else {\n return false;\n };\n }\n\n public normalorder(): boolean {\n if (window.localStorage.getItem(\"iPbmMode\") === \"0\" || window.localStorage.getItem(\"iPbmMode\") === \"-1\") {\n return true\n } else {\n return false;\n };\n }\n\n public PBMorder(): boolean {\n if (window.localStorage.getItem(\"iPbmMode\") === \"1\") {\n return true\n } else {\n return false;\n };\n }\n\n async login(loginParams) {\n return new Promise((resolve, reject) => {\n const headers = {\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Headers': '*',\n 'Access-Control-Allow-Methods': 'POST',\n 'Access-Control-Request-Headers': '*',\n \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\n }\n let url = 'https://red.msgrestservices.nl/Authorisation';\n console.log(JSON.stringify('test', loginParams));\n let user = this.http.post(url, loginParams, {'headers':headers})\n .subscribe(data => {\n if (data) {\n this.storeUserCredentials(data['stAuthResp'].sSessionID);\n this.storeUserID(data['stAuthResp'].iUserId);\n console.log()\n this.storeClientID(data['stAuthResp'].iClient);\n this.storeUserType(data['stAuthResp'].iUserType);\n this.storePriceType(data['stAuthResp'].iPriceType);\n console.log(this.AuthToken);\n this.storePBM(data['stAuthResp'].iPbmMode);\n this.storeallowPBM(data['stAuthResp'].bAllowPbm);\n this.storeallowSHOP(data['stAuthResp'].bAllowShop);\n this.storeOrderNumber(data['stAuthResp'].iOrderId);\n this.storelogedIn(data['stAuthResp'].bLoggedIn);\n this.storeFullName(data['stAuthResp'].sFullName);\n // this.storeallowPBM(data.['stAuthResp'].bAllowPbm);\n console.log(data['stAuthResp'].iPbmMode);\n console.log(data);\n this.userFullname(data['stAuthResp'].sFullName);\n if(this.iUserType === 5){\n this.storeSalesUserCredentials(data['stAuthResp'].sSessionID);\n this.storeSalesUserType(data['stAuthResp'].iUserType);\n }\n resolve(true);\n }\n else\n resolve(false);\n });\n });\n }\n\n // async loginOff() {\n // return new Promise((resolve, reject) => {\n // // var headers = new Headers();\n // // // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // // headers.append('Access-Control-Allow-Origin', '*');\n // // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // // headers.append('Accept', 'application/json');\n // // headers.append('content-type', 'application/json');\n // const headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\n // }\n // let url = '/Authorisation';\n // let user = this.http.delete(url, {'headers':headers})\n // .subscribe(data => {\n // return data\n\n // });\n // });\n // }\n\n loginOff(): Observable {\n const headers = {\n 'Content-Type': 'application/json',\n 'UserToken': `${window.localStorage.getItem(\"Authtoken\")}`\n }\n console.log('postorder', headers)\n return this.http.delete('https://red.msgrestservices.nl/Authorisation', {'headers':headers})\n }\n\n // async passwordReset(sUser, sMail) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // let url = '/User/' + sUser + '/' + sMail;\n // console.log(JSON.stringify('test', sUser + sMail));\n // let user = this.http.post(url, '', options)\n // .subscribe(data => {\n // if (data.json()) {\n // console.log(data.json())\n // resolve(true);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n async Guestlogin() {\n return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // // let options = new RequestOptions({ headers: headers });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n const headers = {\n 'Content-Type': 'application/json',\n \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\n }\n let url = 'https://red.msgrestservices.nl/Authorisation';\n let user = this.http.post(url, '', {'headers':headers})\n .subscribe(data => {\n console.log(data);\n if (data) {\n this.storeUserCredentials(data['stAuthResp'].sSessionID);\n this.storeUserID(data['stAuthResp'].iUserId);\n console.log()\n this.storeClientID(data['stAuthResp'].iClient);\n this.storePriceType(data['stAuthResp'].iPriceType);\n this.storeUserType(data['stAuthResp'].iUserType);\n console.log(this.AuthToken);\n this.storePBM(data['stAuthResp'].iPbmMode);\n // this.storeallowPBM(data.['stAuthResp'].bAllowPbm);\n console.log(data['stAuthResp'].iPbmMode);\n console.log(data);\n this.userFullname(data['stAuthResp'].sFullName);\n if(this.iUserType === 5){\n this.storeSalesUserCredentials(data['stAuthResp'].sSessionID);\n this.storeSalesUserType(data['stAuthResp'].iUserType);\n }\n }\n else\n resolve(false);\n });\n console.log(user);\n });\n }\n\n // async logoff() {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', this.AuthToken)\n // let url = '/Authorisation';\n // // console.log(JSON.stringify(loginParams));\n // let user = this.http.delete(url, options)\n // .subscribe(data => {\n // console.log(data);\n // if (data.['stAuthResp']) {\n // this.storeUserCredentials(data.['stAuthResp'].sSessionID);\n // this.storeUserID(data.['stAuthResp'].iUserId);\n // this.storeClientID(data.['stAuthResp'].iClient);\n // this.storeUserType(data.['stAuthResp'].iUserType);\n // this.storage.set('userToken', this.AuthToken);\n // console.log(this.AuthToken);\n // this.storePBM(data.['stAuthResp'].iPbmMode);\n // console.log(data.['stAuthResp'].iPbmMode);\n // console.log(data.json());\n // this.userFullname(data.['stAuthResp'].sFullName);\n // resolve(true);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // async loginoffNative() {\n // // let loading = this.loadingCtrl.create();\n\n // let headers = {\n // \"Content-Type\": \"application/json\"\n // };\n // this.nativeHttp.setDataSerializer(\"json\");\n // // console.log('native', loginParams)\n // // let params = loginParams;\n\n // this.nativeHttp.delete('https://red.msgrestservices.nl/Authorisation', {}, headers)\n // .then((data) => {\n // let parsed = JSON.parse(data.data);\n // this.storeUserCredentials(parsed.['stAuthResp'].sSessionID);\n // this.storeUserID(parsed.['stAuthResp'].iUserId);\n // this.storeClientID(parsed.['stAuthResp'].iClient);\n // this.storeUserType(parsed.['stAuthResp'].iUserType);\n // this.storePBM(parsed.['stAuthResp'].iPbmMode);\n // console.log(parsed.['stAuthResp'].iPbmMode);\n // console.log(parsed);\n // this.userFullname(parsed.['stAuthResp'].sFullName);\n // })\n // .catch((error) => {\n // console.log(error);\n // });\n // }\n\n // async PBMlogin() {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', this.AuthToken)\n // console.log('pbmlogin', this.AuthToken)\n // // var b64 = CryptoJS.AES.encrypt(plainText, SECRET).toString();\n // let sha = CryptoJS.SHA512(this.AuthToken).toString(CryptoJS.enc.Base64);\n // // let encode = CryptoJS.enc.Base64.stringify(sha)\n // let encodedSource1 = sha.replace(/=+$/, '');\n // let encodedSource2 = encodedSource1.replace(/\\+/g, '-');\n // let encodedSource3 = encodedSource2.replace(/\\//g, '_');\n // let part = encodedSource3.slice(4, 25);\n // console.log('hash', sha);\n // console.log('hash', encodedSource3);\n // // console.log('hash', encode);\n // let url = '/Authorisation/' + part + '?SetPBM=On';\n // console.log(url)\n\n // let user = this.http.get(url, options)\n // .subscribe(data => {\n // if (data.['stAuthResp']) {\n // this.storePBMUserCredentials(data.['stAuthResp'].sSessionID);\n // this.storeUserID(data.['stAuthResp'].iUserId);\n // this.storeClientID(data.['stAuthResp'].iClient);\n // this.storeUserType(data.['stAuthResp'].iUserType);\n // // this.storage.set('userToken', this.PBMAuthToken);\n // // console.log(this.AuthToken);\n // this.storePBM(data.['stAuthResp'].iPbmMode);\n // console.log(data.['stAuthResp'].iPbmMode);\n // console.log(data.json());\n // this.userFullname(data.['stAuthResp'].sFullName);\n // resolve(true);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // async loginswitch() {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', this.PBMAuthToken)\n // console.log('pbmlogin', this.PBMAuthToken)\n // // var b64 = CryptoJS.AES.encrypt(plainText, SECRET).toString();\n // let sha = CryptoJS.SHA512(this.PBMAuthToken).toString(CryptoJS.enc.Base64);\n // // let encode = CryptoJS.enc.Base64.stringify(sha)\n // let encodedSource1 = sha.replace(/=+$/, '');\n // let encodedSource2 = encodedSource1.replace(/\\+/g, '-');\n // let encodedSource3 = encodedSource2.replace(/\\//g, '_');\n // let part = encodedSource3.slice(4, 25);\n // console.log('hash', sha);\n // console.log('hash', encodedSource3);\n // // console.log('hash', encode);\n // let url = '/Authorisation/' + part;\n // console.log(url)\n\n // let user = this.http.put(url, options)\n // .subscribe(data => {\n // if (data.['stAuthResp']) {\n // this.storeUserCredentials(data.['stAuthResp'].sSessionID);\n // this.storeUserID(data.['stAuthResp'].iUserId);\n // this.storeClientID(data.['stAuthResp'].iClient);\n // this.storeUserType(data.['stAuthResp'].iUserType);\n // this.storage.set('userToken', this.AuthToken);\n // console.log(this.AuthToken);\n // this.storePBM(data.['stAuthResp'].iPbmMode);\n // console.log(data.['stAuthResp'].iPbmMode);\n // console.log(data.json());\n // this.userFullname(data.['stAuthResp'].sFullName);\n // resolve(true);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // async loginNative(loginParams) {\n // // let loading = this.loadingCtrl.create();\n\n // let headers = {\n // \"Content-Type\": \"application/json\"\n // };\n // this.nativeHttp.setDataSerializer(\"json\");\n // console.log('native', loginParams)\n // let params = loginParams;\n\n // this.nativeHttp.post('https://red.msgrestservices.nl/Authorisation', params, headers)\n // .then((data) => {\n // let parsed = JSON.parse(data.data);\n // this.storeUserCredentials(parsed.['stAuthResp'].sSessionID);\n // this.storeUserID(parsed.['stAuthResp'].iUserId);\n // this.storeClientID(parsed.['stAuthResp'].iClient);\n // this.storeUserType(parsed.['stAuthResp'].iUserType);\n // this.storePBM(parsed.['stAuthResp'].iPbmMode);\n // this.storeallowPBM(parsed.['stAuthResp'].bAllowPbm);\n // this.storeallowSHOP(parsed.['stAuthResp'].bAllowShop);\n // this.storeOrderNumber(parsed.['stAuthResp'].iOrderId);\n // this.storelogedIn(parsed.['stAuthResp'].bLoggedIn)\n // console.log(parsed.['stAuthResp'].iPbmMode);\n // console.log(parsed);\n // this.userFullname(parsed.['stAuthResp'].sFullName);\n // if(this.iUserType === 5){\n // this.storeSalesUserCredentials(parsed.['stAuthResp'].sSessionID);\n // this.storeSalesUserType(parsed.['stAuthResp'].iUserType);\n \n // }\n // })\n // .catch((error) => {\n // console.log(error.data);\n // error.data\n // });\n // }\n\n // async guestNative(loginParams): Promise {\n // // let loading = this.loadingCtrl.create();\n // let headers = {\n // \"Content-Type\": \"application/json\"\n // };\n // let sale = this.nativeHttp.post('https://red.msgrestservices.nl/Authorisation', {}, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // this.storeUserCredentials(parsed.['stAuthResp'].sSessionID);\n // console.log(parsed.['stAuthResp'].sSessionID)\n // this.storeUserID(parsed.['stAuthResp'].iUserId);\n // this.storeClientID(parsed.['stAuthResp'].iClient);\n // this.storeUserType(parsed.['stAuthResp'].iUserType);\n // this.storelogedIn(parsed.['stAuthResp'].bLoggedIn)\n // // this.storeOrderNumber(parsed.['stAuthResp'].iOrderId);\n // this.storePBM(parsed.['stAuthResp'].iPbmMode);\n // this.storeallowPBM(parsed.['stAuthResp'].bAllowPbm);\n // console.log(parsed.['stAuthResp'].iPbmMode);\n // console.log(parsed);\n // this.userFullname(parsed.['stAuthResp'].sFullName);\n // },\n // error => error);\n // console.log(sale)\n // return sale\n // }\n\n // async GuestloginNative(loginParams) {\n // // let loading = this.loadingCtrl.create();\n // return new Promise((resolve, reject) => {\n // let headers = {\n // 'Content-Type': 'application/json'\n // };\n // this.nativeHttp.post('https://red.msgrestservices.nl/Authorisation', loginParams, headers)\n // .then(\n // res => resolve(res),\n // error => reject(error));\n // });\n\n async SwitchloginNative() {\n // let loginParams = {\n // \"sUser\":\"12345MLAKKE\",\n // \"sPass\":\"Ivana003\",\n // \"iOrderType\" : 104,\n // \"iUsId\": 18, \n // \"iPBMMode\" : 0\n // }\n // this.nativeHttp.setDataSerializer(\"json\");\n // console.log('native', loginParams)\n // let params = loginParams;\n // let loading = this.loadingCtrl.create();\n let sha = CryptoJS.SHA512(window.localStorage.getItem('Authtoken')).toString(CryptoJS.enc.Base64);\n // let encode = CryptoJS.enc.Base64.stringify(sha)\n let encodedSource1 = sha.replace(/=+$/, '');\n let encodedSource2 = encodedSource1.replace(/\\+/g, '-');\n let encodedSource3 = encodedSource2.replace(/\\//g, '_');\n let part = encodedSource3.slice(4, 25);\n console.log('hash', sha);\n console.log('hash', encodedSource3);\n let string = JSON.stringify(window.localStorage.getItem('Authtoken'))\n\n const headers = {\n 'Content-Type': 'application/json',\n 'UserToken': `${window.localStorage.getItem(\"Authtoken\")}`\n }\n console.log(headers);\n console.log(string)\n console.log('pbmlogin', window.localStorage.getItem('Authtoken'))\n console.log(part)\n this.http.get('https://red.msgrestservices.nl/Authorisation/' + part, {'headers':headers})\n .subscribe((data) => {\n let parsed = data;\n console.log('swtichdata',data)\n console.log('switchen data', data)\n // if(data.status === 201 || 401 || 403 || 404 || 204){\n // if(this.CheckLoginUser()){\n // console.log('loged in switch')\n // let loginParams = {\n // \"sUser\":window.localStorage.getItem(\"email\"),\n // \"sPass\":window.localStorage.getItem(\"password\"),\n // \"iUsId\": 0, \n // \"iPBMMode\" : 0\n // }\n // this.loginNative(loginParams);\n // }else{\n // console.log('guest switch')\n // let loginParams = null\n // this.guestNative(loginParams);\n // }\n // }else{\n if(this.CheckLoginUser()){\n this.storeUserCredentials(parsed['stAuthResp'].sSessionID);\n }\n this.storeUserID(parsed['stAuthResp'].iUserId);\n this.storeUserType(parsed['stAuthResp'].iUserType);\n this.storePriceType(data['stAuthResp'].iPriceType);\n if(this.CheckLoginUser()){\n this.storeOrderNumber(parsed['stAuthResp'].iOrderId);\n }\n this.storeClientID(parsed['stAuthResp'].iClient);\n this.storePBM(parsed['stAuthResp'].iPbmMode);\n console.log(parsed['stAuthResp'].iPbmMode);\n console.log(parsed);\n this.userFullname(parsed['stAuthResp'].sFullName);\n // }\n },\n error => {\n console.log(error);\n console.log('swtichdata',error.status)\n if(error.status === 403){\n window.localStorage.clear();\n // if(this.CheckLoginUser()){\n // console.log('loged in switch')\n // let loginParams = {\n // \"sUser\":window.localStorage.getItem(\"email\"),\n // \"sPass\":window.localStorage.getItem(\"password\"),\n // \"iUsId\": 0, \n // \"iPBMMode\" : 0\n // }\n // window.localStorage.setItem('checktokenloginUser', 'false')\n // this.login(loginParams);\n // }else{\n // console.log('guest switch')\n // let loginParams = null\n // this.Guestlogin();\n // window.localStorage.setItem('checktokenloginUser', 'false')\n // }\n }\n // if(this.CheckLoginUser()){\n // console.log('loged in switch')\n // let loginParams = {\n // \"sUser\":window.localStorage.getItem(\"email\"),\n // \"sPass\":window.localStorage.getItem(\"password\"),\n // \"iUsId\": 0, \n // \"iPBMMode\" : 0\n // }\n // window.localStorage.setItem('checktokenloginUser', 'false')\n // this.loginNative(loginParams);\n // }else{\n // console.log('guest switch')\n // let loginParams = null\n // this.guestNative(loginParams);\n // window.localStorage.setItem('checktokenloginUser', 'false')\n // }\n },\n );\n }\n\n\n // let headers = {\n // 'Content-Type': 'application/json'\n // };\n // this.nativeHttp.setDataSerializer(\"json\");\n // console.log('native', loginParams)\n // let params = loginParams;\n // console.log(headers)\n // console.log( this.nativeHttp.post('https://red.msgrestservices.nl/Authorisation', loginParams, headers))\n // this.nativeHttp.post('https://red.msgrestservices.nl/Authorisation', loginParams, headers)\n // .then((data) => {\n // let parsed = JSON.parse(data.data);\n // this.storeUserCredentials(parsed.['stAuthResp'].sSessionID);\n // this.storeUserID(parsed.['stAuthResp'].iUserId);\n // this.storeClientID(parsed.['stAuthResp'].iClient);\n // this.storeUserType(parsed.['stAuthResp'].iUserType);\n // this.storePBM(parsed.['stAuthResp'].iPbmMode);\n // this.storeallowPBM(parsed.['stAuthResp'].bAllowPbm);\n // console.log(parsed.['stAuthResp'].iPbmMode);\n // console.log(parsed);\n // this.userFullname(parsed.['stAuthResp'].sFullName);\n // })\n // .catch((error) => {\n // console.log(error);\n // });\n // }\n\n // guestlogin(data) {\n // let parsed = JSON.parse(data.data);\n // this.storeUserCredentials(parsed.['stAuthResp'].sSessionID);\n\n // this.storeUserID(parsed.['stAuthResp'].iUserId);\n // this.storeClientID(parsed.['stAuthResp'].iClient);\n // this.storeUserType(parsed.['stAuthResp'].iUserType);\n // this.storePBM(parsed.['stAuthResp'].iPbmMode);\n // this.storeallowPBM(parsed.['stAuthResp'].bAllowPbm);\n // console.log(parsed.['stAuthResp'].iPbmMode);\n // console.log(parsed);\n // this.userFullname(parsed.['stAuthResp'].sFullName);\n // }\n\n storeUserCredentials(token) {\n window.localStorage.setItem('Authtoken', token);\n console.log('test', token)\n this.useCredentials(token);\n }\n\n storeSalesUserCredentials(token) {\n window.localStorage.setItem('SalesAuthtoken', token);\n console.log('test', token)\n this.useSalesCredentials(token);\n }\n\n storeFullName(token) {\n window.localStorage.setItem('FullName', token);\n console.log('test', token)\n this.useFullName(token);\n }\n\n storePBMUserCredentials(token) {\n window.localStorage.setItem('PBMtoken', token);\n this.usePBMCredentials(token);\n }\n\n storePriceType(token) {\n window.localStorage.setItem('PriceType', token);\n this.usePriceType(token);\n }\n\n storeUserID(iUserId) {\n window.localStorage.setItem('iUserId', iUserId);\n this.useUserID(iUserId);\n }\n\n storeUserType(iUserType) {\n window.localStorage.setItem('iUserType', iUserType);\n this.useUserType(iUserType);\n }\n\n storeSalesUserType(iUserType) {\n window.localStorage.setItem('iSalesUserType', iUserType);\n this.useSalesUserType(iUserType);\n }\n\n storeClientID(iClient) {\n window.localStorage.setItem('iClient', iClient);\n this.useClientID(iClient);\n }\n\n storePBM(iPbmMode) {\n window.localStorage.setItem('iPbmMode', iPbmMode);\n this.usePBMmodeID(iPbmMode);\n }\n\n storeOrderNumber(OrderNumber) {\n window.localStorage.setItem('OrderNumber', OrderNumber);\n this.useOrderNumber(OrderNumber);\n }\n\n storePBMOrderNumber(OrderNumber) {\n window.localStorage.setItem('PBMOrderNumber', OrderNumber);\n this.usePBMOrderNumber(OrderNumber);\n }\n\n storeallowPBM(bAllowPbm) {\n window.localStorage.setItem('bAllowPbm', bAllowPbm);\n console.log(bAllowPbm)\n this.useallowPBM(bAllowPbm);\n }\n\n storelogedIn(bLoggedIn) {\n window.localStorage.setItem('bLoggedIn', bLoggedIn);\n console.log(bLoggedIn)\n this.useLogedIn(bLoggedIn);\n }\n\n storeallowSHOP(bAllowSHOP) {\n window.localStorage.setItem('bAllowSHOP', bAllowSHOP);\n console.log(bAllowSHOP)\n this.useallowSHOP(bAllowSHOP);\n }\n\n useCredentials(token) {\n this.isLoggedIn = true;\n this.AuthToken = token || window.localStorage.setItem('Authtoken', token);\n }\n\n useSalesCredentials(token) {\n this.isLoggedIn = true;\n this.SalesAuthToken= token || window.localStorage.setItem('SalesAuthtoken', token);\n }\n\n\n useFullName(token) {\n this.isLoggedIn = true;\n this.FullName= token || window.localStorage.setItem('FullName', token);\n }\n\n usePBMCredentials(token) {\n this.isLoggedIn = true;\n this.PBMAuthToken = token || window.localStorage.setItem('PBMAuthtoken', token);\n }\n\n useOrderNumber(OrderNumber) {\n this.isLoggedIn = true;\n this.OrderNumber = OrderNumber;\n console.log('authservice', this.OrderNumber)\n }\n\n usePBMOrderNumber(OrderNumber) {\n this.isLoggedIn = true;\n this.OrderNumber = OrderNumber;\n console.log('authservice', this.OrderNumber)\n }\n\n useUserID(iUserId) {\n this.isLoggedIn = true;\n this.iUserId = iUserId;\n }\n\n useUserType(iUserType) {\n this.isLoggedIn = true;\n this.iUserType = iUserType;\n }\n\n useSalesUserType(iUserType) {\n this.isLoggedIn = true;\n this.iSalesUserType = iUserType;\n }\n\n useClientID(iClient) {\n this.isLoggedIn = true;\n this.iClient = iClient;\n }\n\n usePBMmodeID(iPbmMode) {\n this.isLoggedIn = true;\n this.iPbmMode = iPbmMode;\n }\n\n useallowPBM(bAllowPbm) {\n this.isLoggedIn = true;\n this.bAllowPbm = bAllowPbm;\n }\n\n useallowSHOP(bAllowSHOP) {\n this.isLoggedIn = true;\n this.bAllowShop = bAllowSHOP;\n }\n\n useLogedIn(bLoggedIn) {\n this.isLoggedIn = true;\n this.bLoggedIn = bLoggedIn;\n }\n\n usePriceType(bLoggedIn) {\n this.isLoggedIn = true;\n this.iPriceType = bLoggedIn;\n }\n\n userFullname(fullname) {\n this.isLoggedIn = true;\n this.fullname = fullname;\n console.log(fullname)\n }\n\n loadUserCredentials() {\n let token = window.localStorage.getItem('Authtoken');\n this.AuthToken = window.localStorage.getItem('Authtoken');\n this.SalesAuthToken = window.localStorage.getItem('SalesAuthToken');\n this.OrderNumber = window.localStorage.getItem('OrderNumber');\n this.iUserId = window.localStorage.getItem('iUserId');\n this.iUserType = window.localStorage.getItem('iUserType');\n this.bAllowPbm = window.localStorage.getItem('bAllowPbm');\n this.iClient = window.localStorage.getItem('iClient');\n this.iPbmMode = window.localStorage.getItem('iPbmMode');\n this.iSalesUserType = window.localStorage.getItem('iSalesUserType');\n console.log('check to login', this.iSalesUserType)\n this.useCredentials(token);\n }\n\n destroyUserCredentials() {\n this.isLoggedIn = false;\n this.AuthToken = null;\n window.localStorage.removeItem('bLoggedIn');\n window.localStorage.removeItem('Authtoken')\n window.localStorage.removeItem('iSalesUserType');\n window.localStorage.setItem('OrderNumber', \"0\");\n }\n\n createAuthorization(headers: Headers) {\n headers.append('UserToken', window.localStorage.getItem('Authtoken'));\n }\n\n // async PBMloginNative() {\n // // let loading = this.loadingCtrl.create();\n // let sha = CryptoJS.SHA512(window.localStorage.getItem('Authtoken')).toString(CryptoJS.enc.Base64);\n // // let encode = CryptoJS.enc.Base64.stringify(sha)\n // let encodedSource1 = sha.replace(/=+$/, '');\n // let encodedSource2 = encodedSource1.replace(/\\+/g, '-');\n // let encodedSource3 = encodedSource2.replace(/\\//g, '_');\n // let part = encodedSource3.slice(4, 25);\n // console.log('hash', sha);\n // console.log('hash', encodedSource3);\n // let string = JSON.stringify(window.localStorage.getItem('Authtoken'))\n\n // let headers = {\n // \"Content-Type\": \"application/json\",\n // \"UserToken\": `${window.localStorage.getItem('Authtoken')}`\n // };\n // console.log(headers);\n // console.log(string)\n // console.log('pbmlogin', window.localStorage.getItem('Authtoken'))\n // this.nativeHttp.get('https://red.msgrestservices.nl/Authorisation/' + part + '?SetPBM=On', {}, headers)\n // .then((data) => {\n // let parsed = JSON.parse(data.data);\n // this.storePBMUserCredentials(parsed.['stAuthResp'].sSessionID);\n // this.storeUserID(parsed.['stAuthResp'].iUserId);\n // this.storeUserType(parsed.['stAuthResp'].iUserType);\n // this.storePBMOrderNumber(parsed.['stAuthResp'].iOrderId);\n // this.storeClientID(parsed.['stAuthResp'].iClient);\n // this.storePBM(parsed.['stAuthResp'].iPbmMode);\n // console.log(parsed.['stAuthResp'].iPbmMode);\n // console.log(parsed);\n // this.userFullname(parsed.['stAuthResp'].sFullName);\n // })\n // .catch((error) => {\n // console.log(error);\n // });\n // let nativeCall = this.nativeHttp.post('https://red.msgrestservices.nl/Authentication/'+part+'?SetPBM=On',{}, headers)\n // console.log('this is native');\n // from(nativeCall).pipe(\n // finalize(() => console.log('ok'))\n // )\n // .subscribe(data => {\n\n // let parsed = JSON.parse(data.data);\n // // this.auth = parsed.['stAuthResp'];\n // // console.log(this.promo);\n // console.log(data);\n // if(parsed.['stAuthResp']){\n // this.storeUserCredentials(parsed.['stAuthResp'].sSessionID);\n // this.storeUserID(parsed.['stAuthResp'].iUserId);\n // this.storePBM(parsed.['stAuthResp'].iPbmMode);\n // console.log(parsed.['stAuthResp'].iPbmMode);\n // console.log(parsed);\n // this.userFullname(parsed.['stAuthResp'].sFullName);\n // // resolve(true);\n // }\n // },\n // err => {\n // console.log('native error : ', err);\n // });\n // }\n\n // async SwitchloginNative() {\n // // let loginParams = {\n // // \"sUser\":\"12345MLAKKE\",\n // // \"sPass\":\"Ivana003\",\n // // \"iOrderType\" : 104,\n // // \"iUsId\": 18, \n // // \"iPBMMode\" : 0\n // // }\n // this.nativeHttp.setDataSerializer(\"json\");\n // // console.log('native', loginParams)\n // // let params = loginParams;\n // // let loading = this.loadingCtrl.create();\n // let sha = CryptoJS.SHA512(window.localStorage.getItem('Authtoken')).toString(CryptoJS.enc.Base64);\n // // let encode = CryptoJS.enc.Base64.stringify(sha)\n // let encodedSource1 = sha.replace(/=+$/, '');\n // let encodedSource2 = encodedSource1.replace(/\\+/g, '-');\n // let encodedSource3 = encodedSource2.replace(/\\//g, '_');\n // let part = encodedSource3.slice(4, 25);\n // console.log('hash', sha);\n // console.log('hash', encodedSource3);\n // let string = JSON.stringify(window.localStorage.getItem('Authtoken'))\n\n // let headers = {\n // \"Content-Type\": \"application/json\",\n // \"UserToken\": `${window.localStorage.getItem('Authtoken')}`\n // };\n // console.log(headers);\n // console.log(string)\n // console.log('pbmlogin', window.localStorage.getItem('Authtoken'))\n // console.log(part)\n // this.nativeHttp.get('https://red.msgrestservices.nl/Authorisation/' + part, {}, headers)\n // .then((data) => {\n // let parsed = JSON.parse(data.data);\n // console.log('swtichdata',data.status)\n // console.log('switchen data', data)\n // // if(data.status === 201 || 401 || 403 || 404 || 204){\n // // if(this.CheckLoginUser()){\n // // console.log('loged in switch')\n // // let loginParams = {\n // // \"sUser\":window.localStorage.getItem(\"email\"),\n // // \"sPass\":window.localStorage.getItem(\"password\"),\n // // \"iUsId\": 0, \n // // \"iPBMMode\" : 0\n // // }\n // // this.loginNative(loginParams);\n // // }else{\n // // console.log('guest switch')\n // // let loginParams = null\n // // this.guestNative(loginParams);\n // // }\n // // }else{\n // if(this.CheckLoginUser()){\n // this.storeUserCredentials(parsed.['stAuthResp'].sSessionID);\n // }\n // this.storeUserID(parsed.['stAuthResp'].iUserId);\n // this.storeUserType(parsed.['stAuthResp'].iUserType);\n // if(this.CheckLoginUser()){\n // this.storeOrderNumber(parsed.['stAuthResp'].iOrderId);\n // }\n // this.storeClientID(parsed.['stAuthResp'].iClient);\n // this.storePBM(parsed.['stAuthResp'].iPbmMode);\n // console.log(parsed.['stAuthResp'].iPbmMode);\n // console.log(parsed);\n // this.userFullname(parsed.['stAuthResp'].sFullName);\n // // }\n // })\n // .catch((error) => {\n // console.log(error);\n // console.log('swtichdata',error.status)\n // if(error.status === 400){\n // if(this.CheckLoginUser()){\n // console.log('loged in switch')\n // let loginParams = {\n // \"sUser\":window.localStorage.getItem(\"email\"),\n // \"sPass\":window.localStorage.getItem(\"password\"),\n // \"iUsId\": 0, \n // \"iPBMMode\" : 0\n // }\n // window.localStorage.setItem('checktokenloginUser', 'false')\n // this.loginNative(loginParams);\n // }else{\n // console.log('guest switch')\n // let loginParams = null\n // this.guestNative(loginParams);\n // window.localStorage.setItem('checktokenloginUser', 'false')\n // }\n // }\n // // if(this.CheckLoginUser()){\n // // console.log('loged in switch')\n // // let loginParams = {\n // // \"sUser\":window.localStorage.getItem(\"email\"),\n // // \"sPass\":window.localStorage.getItem(\"password\"),\n // // \"iUsId\": 0, \n // // \"iPBMMode\" : 0\n // // }\n // // window.localStorage.setItem('checktokenloginUser', 'false')\n // // this.loginNative(loginParams);\n // // }else{\n // // console.log('guest switch')\n // // let loginParams = null\n // // this.guestNative(loginParams);\n // // window.localStorage.setItem('checktokenloginUser', 'false')\n // // }\n // });\n // // let nativeCall = this.nativeHttp.post('https://red.msgrestservices.nl/Authentication/'+part+'?SetPBM=On',{}, headers)\n // // console.log('this is native');\n // // from(nativeCall).pipe(\n // // finalize(() => console.log('ok'))\n // // )\n // // .subscribe(data => {\n\n // // let parsed = JSON.parse(data.data);\n // // // this.auth = parsed.['stAuthResp'];\n // // // console.log(this.promo);\n // // console.log(data);\n // // if(parsed.['stAuthResp']){\n // // this.storeUserCredentials(parsed.['stAuthResp'].sSessionID);\n // // this.storeUserID(parsed.['stAuthResp'].iUserId);\n // // this.storePBM(parsed.['stAuthResp'].iPbmMode);\n // // console.log(parsed.['stAuthResp'].iPbmMode);\n // // console.log(parsed);\n // // this.userFullname(parsed.['stAuthResp'].sFullName);\n // // // resolve(true);\n // // }\n // // },\n // // err => {\n // // console.log('native error : ', err);\n // // });\n // }\n\n // async SwitchClientSalesNative() {\n // // let loginParams = {\n // // \"sUser\":\"12345MLAKKE\",\n // // \"sPass\":\"Ivana003\",\n // // \"iOrderType\" : 104,\n // // \"iUsId\": 18, \n // // \"iPBMMode\" : 0\n // // }\n // this.nativeHttp.setDataSerializer(\"json\");\n // // console.log('native', loginParams)\n // // let params = loginParams;\n // // let loading = this.loadingCtrl.create();\n // let sha = CryptoJS.SHA512(window.localStorage.getItem('SalesAuthtoken')).toString(CryptoJS.enc.Base64);\n // // let encode = CryptoJS.enc.Base64.stringify(sha)\n // let encodedSource1 = sha.replace(/=+$/, '');\n // let encodedSource2 = encodedSource1.replace(/\\+/g, '-');\n // let encodedSource3 = encodedSource2.replace(/\\//g, '_');\n // let part = encodedSource3.slice(4, 25);\n // console.log('hash', sha);\n // console.log('hash', encodedSource3);\n // let string = JSON.stringify(window.localStorage.getItem('SalesAuthtoken'))\n\n // let headers = {\n // \"Content-Type\": \"application/json\",\n // \"UserToken\": `${window.localStorage.getItem('SalesAuthtoken')}`\n // };\n // console.log(headers);\n // console.log(string)\n // console.log('pbmlogin', window.localStorage.getItem('SalesAuthtoken'))\n // console.log(part)\n // this.nativeHttp.get('https://red.msgrestservices.nl/Authorisation/' + part, {}, headers)\n // .then((data) => {\n // let parsed = JSON.parse(data.data);\n // console.log('swtichdata',data.status)\n // console.log('switchen data', data)\n // // if(data.status === 201 || 401 || 403 || 404 || 204){\n // // if(this.CheckLoginUser()){\n // // console.log('loged in switch')\n // // let loginParams = {\n // // \"sUser\":window.localStorage.getItem(\"email\"),\n // // \"sPass\":window.localStorage.getItem(\"password\"),\n // // \"iUsId\": 0, \n // // \"iPBMMode\" : 0\n // // }\n // // this.loginNative(loginParams);\n // // }else{\n // // console.log('guest switch')\n // // let loginParams = null\n // // this.guestNative(loginParams);\n // // }\n // // }else{\n // this.storeUserCredentials(parsed.['stAuthResp'].sSessionID);\n // this.storeUserID(parsed.['stAuthResp'].iUserId);\n // this.storeUserType(parsed.['stAuthResp'].iUserType);\n // this.storeOrderNumber(parsed.['stAuthResp'].iOrderId);\n // this.storeClientID(parsed.['stAuthResp'].iClient);\n // this.storePBM(parsed.['stAuthResp'].iPbmMode);\n // console.log(parsed.['stAuthResp'].iPbmMode);\n // console.log(parsed);\n // this.userFullname(parsed.['stAuthResp'].sFullName);\n // // }\n // })\n // .catch((error) => {\n // console.log(error);\n // console.log('swtichdata',error.status)\n // if(error.status === 400){\n // if(this.CheckLoginUser()){\n // console.log('loged in switch')\n // let loginParams = {\n // \"sUser\":window.localStorage.getItem(\"email\"),\n // \"sPass\":window.localStorage.getItem(\"password\"),\n // \"iUsId\": 0, \n // \"iPBMMode\" : 0\n // }\n // window.localStorage.setItem('checktokenloginUser', 'false')\n // this.loginNative(loginParams);\n // }else{\n // console.log('guest switch')\n // let loginParams = null\n // this.guestNative(loginParams);\n // window.localStorage.setItem('checktokenloginUser', 'false')\n // }\n // }\n // // if(this.CheckLoginUser()){\n // // console.log('loged in switch')\n // // let loginParams = {\n // // \"sUser\":window.localStorage.getItem(\"email\"),\n // // \"sPass\":window.localStorage.getItem(\"password\"),\n // // \"iUsId\": 0, \n // // \"iPBMMode\" : 0\n // // }\n // // window.localStorage.setItem('checktokenloginUser', 'false')\n // // this.loginNative(loginParams);\n // // }else{\n // // console.log('guest switch')\n // // let loginParams = null\n // // this.guestNative(loginParams);\n // // window.localStorage.setItem('checktokenloginUser', 'false')\n // // }\n // });\n // // let nativeCall = this.nativeHttp.post('https://red.msgrestservices.nl/Authentication/'+part+'?SetPBM=On',{}, headers)\n // // console.log('this is native');\n // // from(nativeCall).pipe(\n // // finalize(() => console.log('ok'))\n // // )\n // // .subscribe(data => {\n\n // // let parsed = JSON.parse(data.data);\n // // // this.auth = parsed.['stAuthResp'];\n // // // console.log(this.promo);\n // // console.log(data);\n // // if(parsed.['stAuthResp']){\n // // this.storeUserCredentials(parsed.['stAuthResp'].sSessionID);\n // // this.storeUserID(parsed.['stAuthResp'].iUserId);\n // // this.storePBM(parsed.['stAuthResp'].iPbmMode);\n // // console.log(parsed.['stAuthResp'].iPbmMode);\n // // console.log(parsed);\n // // this.userFullname(parsed.['stAuthResp'].sFullName);\n // // // resolve(true);\n // // }\n // // },\n // // err => {\n // // console.log('native error : ', err);\n // // });\n // }\n // async Clientlogin(loginparams) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem('SalesAuthtoken'))\n // console.log('saleslogin', window.localStorage.getItem('SalesAuthtoken'))\n // // var b64 = CryptoJS.AES.encrypt(plainText, SECRET).toString();\n // let sha = CryptoJS.SHA512(window.localStorage.getItem('SalesAuthtoken')).toString(CryptoJS.enc.Base64);\n // // let encode = CryptoJS.enc.Base64.stringify(sha)\n // let encodedSource1 = sha.replace(/=+$/, '');\n // let encodedSource2 = encodedSource1.replace(/\\+/g, '-');\n // let encodedSource3 = encodedSource2.replace(/\\//g, '_');\n // let part = encodedSource3.slice(4, 25);\n // console.log('hash', sha);\n // console.log('hash', encodedSource3);\n // // console.log('hash', encode);\n // let url = '/Authorisation/'+part;\n // console.log(url)\n // console.log('clientservice', JSON.stringify(loginparams))\n // let user = this.http.put(url, loginparams, options)\n // .subscribe(data => {\n // console.log(data);\n // if (data.['stAuthResp']) {\n // this.storeUserCredentials(data.['stAuthResp'].sSessionID);\n // this.storeUserID(data.['stAuthResp'].iUserId);\n // this.storeClientID(data.['stAuthResp'].iClient);\n // this.storeUserType(data.['stAuthResp'].iUserType);\n // // this.storage.set('userToken', this.AuthToken);\n // // console.log(this.AuthToken);\n // this.storePBM(data.['stAuthResp'].iPbmMode);\n // console.log(data.['stAuthResp'].iPbmMode);\n // console.log(data.['stAuthResp'].iClient);\n // this.userFullname(data.['stAuthResp'].sFullName);\n // resolve(true);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // async ClientloginNative(loginparams) {\n // // let loading = this.loadingCtrl.create();\n // let sha = CryptoJS.SHA512(window.localStorage.getItem('SalesAuthtoken')).toString(CryptoJS.enc.Base64);\n // // let encode = CryptoJS.enc.Base64.stringify(sha)\n // let encodedSource1 = sha.replace(/=+$/, '');\n // let encodedSource2 = encodedSource1.replace(/\\+/g, '-');\n // let encodedSource3 = encodedSource2.replace(/\\//g, '_');\n // let part = encodedSource3.slice(4, 25);\n // console.log('hash', sha);\n // console.log('hash', encodedSource3);\n // let string = JSON.stringify(window.localStorage.getItem('SalesAuthtoken'))\n\n // let headers = {\n // \"Content-Type\": \"application/json\",\n // \"UserToken\": `${window.localStorage.getItem('SalesAuthtoken')}`\n // };\n // this.nativeHttp.setDataSerializer(\"json\");\n // console.log('native', loginparams)\n // let params = loginparams;\n // console.log(headers);\n // console.log(string)\n // console.log('pbmlogin', window.localStorage.getItem('SalesAuthtoken'))\n // this.nativeHttp.put('https://red.msgrestservices.nl/Authorisation/' + part, params, headers)\n // .then((data) => {\n // let parsed = JSON.parse(data.data);\n // this.storeUserCredentials(parsed.['stAuthResp'].sSessionID);\n // this.storeUserID(parsed.['stAuthResp'].iUserId);\n // this.storeClientID(parsed.['stAuthResp'].iClient);\n // this.storePBM(parsed.['stAuthResp'].iPbmMode);\n // this.storeUserType(parsed.['stAuthResp'].iUserType);\n // this.storeallowPBM(parsed.['stAuthResp'].bAllowPbm);\n // this.storeOrderNumber(parsed.['stAuthResp'].iOrderId);\n // this.storelogedIn(parsed.['stAuthResp'].bLoggedIn)\n // console.log(parsed.['stAuthResp'].iPbmMode);\n // console.log(parsed);\n // this.userFullname(parsed.['stAuthResp'].sFullName);\n // })\n // .catch((error) => {\n // console.log(error);\n // });\n // // let nativeCall = this.nativeHttp.post('https://red.msgrestservices.nl/Authentication/'+part+'?SetPBM=On',{}, headers)\n // // console.log('this is native');\n // // from(nativeCall).pipe(\n // // finalize(() => console.log('ok'))\n // // )\n // // .subscribe(data => {\n\n // // let parsed = JSON.parse(data.data);\n // // // this.auth = parsed.['stAuthResp'];\n // // // console.log(this.promo);\n // // console.log(data);\n // // if(parsed.['stAuthResp']){\n // // this.storeUserCredentials(parsed.['stAuthResp'].sSessionID);\n // // this.storeUserID(parsed.['stAuthResp'].iUserId);\n // // this.storePBM(parsed.['stAuthResp'].iPbmMode);\n // // console.log(parsed.['stAuthResp'].iPbmMode);\n // // console.log(parsed);\n // // this.userFullname(parsed.['stAuthResp'].sFullName);\n // // // resolve(true);\n // // }\n // // },\n // // err => {\n // // console.log('native error : ', err);\n // // });\n // }\n \n\n}","import { Injectable, ChangeDetectorRef, Injector } from '@angular/core';\n// import { Storage } from '@ionic/storage';\nimport { Item } from '../services/item';\nimport { Observable, of, throwError } from 'rxjs';\n// import { Http, Headers, RequestOptions } from '@angular/http';\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\n// import { HTTP, HTTPResponse } from '@ionic-native/http/ngx';\nimport { AuthService } from '.././services/auth.service';\n// import { BasePage } from '../pages/base-page/base-page';\n// import { restoreView } from '@angular/core/src/render3';\n\nconst CART_KEY = 'cartItems';\nconst PBMCART_KEY = 'PBMcartItems';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CartService {\n currentprice: number = 0;\n navbarCartCount = 0;\n navbarPBMCartCount = 0;\n OrderNumber: any;\n PBMOrderNumber: any;\n order: any;\n ideal:any;\n orderchange: any;\n constructor(injector: Injector, private commonhttp: HttpClient, private auth: AuthService) {\n this.calculateLocalCartProdCounts();\n this.calculateLocalPBMCartProdCounts();\n\n }\n // addToCart(product) {\n // return this.getCartItems().then(result => {\n // if (result) {\n // if (!this.containsObject(product, result)) {\n // result.push(product);\n // return this.storage.set(CART_KEY, result);\n // } else {\n // let index = result.findIndex(x => x.product_id == product.product_id);\n // let prevQuantity = parseInt(result[index].count);\n // product.count = (prevQuantity + product.count);\n // let currentPrice = (parseFloat(product.totalPrice));\n // product.totalPrice =currentPrice;\n // this.currentprice = currentPrice\n // result.splice(index, 1);\n // result.push(product);\n // return this.storage.set(CART_KEY, result);\n // }\n\n // } else {\n // return this.storage.set(CART_KEY, [product]);\n // }\n // })\n // }\n\n // Adding new Product to cart db if logged in else localStorage\n addToCart(data: any): void {\n let a: Item[];\n\n a = JSON.parse(localStorage.getItem('raadsma_cart'+`${window.localStorage.getItem('OrderNumber')}`)) || [];\n\n a.push(data);\n // this.toastrService.wait('Adding Product to Cart', 'Product Adding to the cart');\n setTimeout(() => {\n localStorage.setItem('raadsma_cart'+`${window.localStorage.getItem('OrderNumber')}`, JSON.stringify(a));\n this.calculateLocalCartProdCounts();\n }, 500);\n }\n\n // returning LocalCarts Product Count\n calculateLocalCartProdCounts() {\n this.navbarCartCount = this.getLocalCartProducts().length;\n }\n\n getLocalCartProducts(): Item[] {\n const products: Item[] = JSON.parse(localStorage.getItem('raadsma_cart'+`${window.localStorage.getItem('OrderNumber')}`)) || [];\n\n return products;\n }\n\n removeLocalCartProduct(product: Item) {\n const products: Item[] = JSON.parse(localStorage.getItem('raadsma_cart'+`${window.localStorage.getItem('OrderNumber')}`));\n\n for (let i = 0; i < products.length; i++) {\n if (products[i].sArticleCode === product.sArticleCode) {\n products.splice(i, 1);\n break;\n }\n }\n // ReAdding the products after remove\n localStorage.setItem('raadsma_cart'+`${window.localStorage.getItem('OrderNumber')}`, JSON.stringify(products));\n\n this.calculateLocalCartProdCounts();\n }\n\n removeorderlocal(){\n localStorage.removeItem('Redson'+`${window.localStorage.getItem('OrderNumber')}`);\n this.calculateLocalCartProdCounts();\n }\n\n // removeFromCart(product) {\n // return this.getCartItems().then(result => {\n // if (result) {\n // var productIndex = result.indexOf(product);\n // result.splice(productIndex, 1);\n // return this.storage.set(CART_KEY, result);\n // }\n // })\n // }\n\n // postOrder(): Observable {\n // let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem('Authtoken'));;\n // headers.append('Access-Control-Allow-Origin' , '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept','application/json');\n // headers.append('content-type','application/json');\n // headers.append('content-type','application/json');\n // console.log('UserToken', window.localStorage.getItem('Authtoken'))\n // let sale = this.http.post('/Order', {headers:headers});\n // console.log('order', sale);\n // return sale;\n // }\n\n // postOrder() {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem('Authtoken'));\n // console.log(window.localStorage.getItem('Authtoken'))\n // let url = '/Order';\n // let user = this.http.post(url, '', options)\n // .subscribe(data => {\n // if (data.json().sResponse) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // this.storeOrdernumber(data.json().sResponse);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // async postOrderNative(): Promise {\n\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem('Authtoken')}`\n // };\n // console.log('post order native token', window.localStorage.getItem('Authtoken'))\n // let sale = this.nativeHttp.post('https://red.msgrestservices.nl/Order', {}, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // // this.storeUserCredentials(parsed.stAuthResp.sSessionID);\n // // this.storeUserID(parsed.stAuthResp.iUserId);\n // // this.storeClientID(parsed.stAuthResp.iClient);\n // // this.storeUserType(parsed.stAuthResp.iUserType);\n // // this.storePBM(parsed.stAuthResp.iPbmMode);\n // // this.storeallowPBM(parsed.stAuthResp.bAllowPbm);\n // this.storeOrdernumber(parsed.sResponse);\n // console.log(parsed.stAuthResp.iPbmMode);\n // console.log('carserviceordernumber', parsed.sResponse)\n // console.log(parsed);\n // // this.userFullname(parsed.stAuthResp.sFullName);\n // },\n // error => error);\n\n // return sale\n // }\n\n postOrder(): Observable {\n const headers = {\n 'Content-Type': 'application/json',\n 'UserToken': `${window.localStorage.getItem(\"Authtoken\")}`\n }\n console.log('postorder', headers)\n return this.commonhttp.post('https://red.msgrestservices.nl/Order', '', {'headers':headers})\n }\n\n\n deleteOrderLine(item, orderlineid): Observable {\n const headers = {\n 'Content-Type': 'application/json',\n 'UserToken': `${window.localStorage.getItem(\"Authtoken\")}`\n }\n return this.commonhttp.put('https://red.msgrestservices.nl/OrderLine/'+window.localStorage.getItem('OrderNumber')+'/'+orderlineid, item,{'headers':headers})\n }\n\n // deleteOrderLineNative(item, orderlineid): Promise {\n\n // // let loading = this.loadingCtrl.create();\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\n // };\n // console.log(item)\n // console.log(orderlineid)\n // console.log('https://red.msgrestservices.nl/OrderLine/'+window.localStorage.getItem('OrderNumber')+'/'+orderlineid)\n // let sale = this.nativeHttp.put('https://red.msgrestservices.nl/OrderLine/'+window.localStorage.getItem('OrderNumber')+'/'+orderlineid, item, headers)\n // .then(\n // res => {\n // console.log('remove item', res.status);\n // if(res.status === 204 || res.status === 401){\n\n // }else{\n // let parsed = JSON.parse(res.data);\n // console.log('carserviceordernumber', parsed['sResponse '])\n // }\n // },\n // error => error);\n \n // return sale\n \n // }\n\n // postOrderListName(name) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem('Authtoken'));\n // console.log(window.localStorage.getItem('Authtoken'))\n // let url = '/Orderlist?' + name;\n // let user = this.http.post(url, name, options)\n // .subscribe(data => {\n // if (data.json().sResponse) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // // this.storeOrdernumber(data.json().sResponse);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // async postOrderListNameNative(name): Promise {\n\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem('Authtoken')}`\n // };\n // let sale = this.nativeHttp.post('https://red.msgrestservices.nl/Orderlist', name, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // // this.storeUserCredentials(parsed.stAuthResp.sSessionID);\n // // this.storeUserID(parsed.stAuthResp.iUserId);\n // // this.storeClientID(parsed.stAuthResp.iClient);\n // // this.storeUserType(parsed.stAuthResp.iUserType);\n // // this.storePBM(parsed.stAuthResp.iPbmMode);\n // // this.storeallowPBM(parsed.stAuthResp.bAllowPbm);\n // // this.storeOrdernumber(parsed.sResponse);\n // console.log(parsed.stAuthResp.iPbmMode);\n // console.log(parsed);\n // // this.userFullname(parsed.stAuthResp.sFullName);\n // },\n // error => error);\n\n // return sale\n // }\n\n // postOrderListItem(id, name) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem('Authtoken'));\n // console.log(window.localStorage.getItem('Authtoken'))\n // let url = '/Orderlist/' + id;\n // let user = this.http.post(url, name, options)\n // .subscribe(data => {\n // if (data.json().sResponse) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // this.storeOrdernumber(data.json().sResponse);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // async postOrderListItemNative(id, name): Promise {\n\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem('Authtoken')}`\n // };\n // let sale = this.nativeHttp.post('https://red.msgrestservices.nl/Orderlist/' + id, name, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // // this.storeUserCredentials(parsed.stAuthResp.sSessionID);\n // // this.storeUserID(parsed.stAuthResp.iUserId);\n // // this.storeClientID(parsed.stAuthResp.iClient);\n // // this.storeUserType(parsed.stAuthResp.iUserType);\n // // this.storePBM(parsed.stAuthResp.iPbmMode);\n // // this.storeallowPBM(parsed.stAuthResp.bAllowPbm);\n // // this.storeOrdernumber(parsed.sResponse);\n // console.log(parsed.stAuthResp.iPbmMode);\n // console.log(parsed);\n // // this.userFullname(parsed.stAuthResp.sFullName);\n // },\n // error => error);\n\n // return sale\n // }\n\n\n postOrderNativeNumber(data) {\n this.storeOrdernumber(data['sResponse']);\n }\n\n // postPBMOrder() {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem(\"PBMtoken\"));\n // console.log(window.localStorage.getItem('Authtoken'))\n // let url = '/Order';\n // let user = this.http.post(url, '', options)\n // .subscribe(data => {\n // if (data.json().sResponse) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // this.storePBMOrdernumber(data.json().sResponse);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // async postPBMOrderNative(): Promise {\n\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"PBMtoken\")}`\n // };\n // let sale = this.nativeHttp.post('https://red.msgrestservices.nl/Order', {}, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // // this.storeUserCredentials(parsed.stAuthResp.sSessionID);\n // // this.storeUserID(parsed.stAuthResp.iUserId);\n // // this.storeClientID(parsed.stAuthResp.iClient);\n // // this.storeUserType(parsed.stAuthResp.iUserType);\n // // this.storePBM(parsed.stAuthResp.iPbmMode);\n // // this.storeallowPBM(parsed.stAuthResp.bAllowPbm);\n // this.storePBMOrdernumber(parsed.sResponse);\n // console.log(parsed.stAuthResp.iPbmMode);\n // console.log(parsed);\n // // this.userFullname(parsed.stAuthResp.sFullName);\n // },\n // error => error);\n\n // return sale\n // }\n\n // postPBMOrderListName(name) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem(\"PBMtoken\"));\n // console.log(window.localStorage.getItem(\"PBMtoken\"))\n // let url = '/Orderlist?' + name;\n // let user = this.http.post(url, name, options)\n // .subscribe(data => {\n // if (data.json().sResponse) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // // this.storeOrdernumber(data.json().sResponse);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // async postPBMOrderListNameNative(name): Promise {\n\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"PBMtoken\")}`\n // };\n // let sale = this.nativeHttp.post('https://red.msgrestservices.nl/Orderlist', name, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // // this.storeUserCredentials(parsed.stAuthResp.sSessionID);\n // // this.storeUserID(parsed.stAuthResp.iUserId);\n // // this.storeClientID(parsed.stAuthResp.iClient);\n // // this.storeUserType(parsed.stAuthResp.iUserType);\n // // this.storePBM(parsed.stAuthResp.iPbmMode);\n // // this.storeallowPBM(parsed.stAuthResp.bAllowPbm);\n // // this.storeOrdernumber(parsed.sResponse);\n // console.log(parsed.stAuthResp.iPbmMode);\n // console.log(parsed);\n // // this.userFullname(parsed.stAuthResp.sFullName);\n // },\n // error => error);\n\n // return sale\n // }\n\n // postPBMOrderListItem(id, name) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem(\"PBMtoken\"));\n // console.log(window.localStorage.getItem(\"PBMtoken\"))\n // let url = '/Orderlist/' + id;\n // let user = this.http.post(url, name, options)\n // .subscribe(data => {\n // if (data.json().sResponse) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // this.storePBMOrdernumber(data.json().sResponse);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // async postPBMOrderListItemNative(id, name): Promise {\n\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"PBMtoken\")}`\n // };\n // let sale = this.nativeHttp.post('https://red.msgrestservices.nl/Orderlist/' + id, name, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // // this.storeUserCredentials(parsed.stAuthResp.sSessionID);\n // // this.storeUserID(parsed.stAuthResp.iUserId);\n // // this.storeClientID(parsed.stAuthResp.iClient);\n // // this.storeUserType(parsed.stAuthResp.iUserType);\n // // this.storePBM(parsed.stAuthResp.iPbmMode);\n // // this.storeallowPBM(parsed.stAuthResp.bAllowPbm);\n // this.storeOrdernumber(parsed.sResponse);\n // console.log(parsed.stAuthResp.iPbmMode);\n // console.log(parsed);\n // // this.userFullname(parsed.stAuthResp.sFullName);\n // },\n // error => error);\n\n // return sale\n // }\n\n\n postPBMOrderNativeNumber(data) {\n let parsed = JSON.parse(data.data);\n this.storePBMOrdernumber(parsed.sResponse);\n }\n\n // getOrder(){\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin' , '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept','application/json');\n // headers.append('content-type','application/json');\n // headers.append('UserToken', window.localStorage.getItem('Authtoken'));\n // console.log(window.localStorage.getItem('Authtoken'))\n // let url = '/Order/'+window.localStorage.getItem('OrderNumber'); \n // console.log(url)\n // let user = this.http.get(url,options)\n // .subscribe( data => {\n // console.log(data.json())\n // this.order = data.json();\n // if(data.json().sResponse){\n // console.log('carserviceordernumber', data.json().sResponse)\n // this.storeOrdernumber(data.json().sResponse);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // async getOrderNative() {\n // let headers = {\n // \"Content-Type\": \"application/json\",\n // \"UserToken\": `${window.localStorage.getItem('Authtoken')}`\n // };\n // this.nativeHttp.setDataSerializer(\"json\");\n // this.nativeHttp.get('https://red.msgrestservices.nl/Order/'+window.localStorage.getItem('OrderNumber'), {}, headers)\n // .then((data) => {\n // let parsed = JSON.parse(data.data);\n // this.storeOrdernumber(parsed.sResponse);\n // })\n // .catch((error) => {\n // console.log(error);\n // });\n // }\n\n getOrder(): Observable {\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem('Authtoken'));\n headers.append('Access-Control-Allow-Origin', '*');\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n headers.append('Accept', 'application/json');\n headers.append('content-type', 'application/json');\n console.log('tokenproduct', window.localStorage.getItem('Authtoken'))\n // headers.append('UserToken', window.localStorage.getItem('Authtoken'));\n let items = this.commonhttp.get('https://red.msgrestservices.nl/Order/' + window.localStorage.getItem('OrderNumber'), { headers: headers });\n console.log('order', items);\n return items;\n }\n\n // getOrderNative(): Promise {\n // let headers = {\n // \"Content-Type\": \"application/json\",\n // \"UserToken\": `${window.localStorage.getItem('Authtoken')}`\n // };\n // console.log(headers)\n // this.nativeHttp.setDataSerializer(\"json\");\n // console.log(headers);\n // let items = this.nativeHttp.get('https://red.msgrestservices.nl/Order/' + window.localStorage.getItem('OrderNumber'), {}, headers);\n // console.log('order', items);\n // console.log('this is native');\n // return items;\n // }\n\n getOrderLine(): Observable {\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem('Authtoken'));\n headers.append('Access-Control-Allow-Origin', '*');\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n headers.append('Accept', 'application/json');\n headers.append('content-type', 'application/json');\n console.log('tokenproduct', window.localStorage.getItem('Authtoken'))\n // headers.append('UserToken', window.localStorage.getItem('Authtoken'));\n let items = this.commonhttp.get('https://red.msgrestservices.nl/OrderLine/' + window.localStorage.getItem('OrderNumber'), { headers: headers });\n console.log('orderlines', items);\n return items;\n }\n\n // getOrderLineNative(): Promise {\n // let headers = {\n // \"Content-Type\": \"application/json\",\n // \"UserToken\": `${window.localStorage.getItem('Authtoken')}`\n // };\n // console.log(headers)\n // this.nativeHttp.setDataSerializer(\"json\");\n // console.log(headers);\n // let items = this.nativeHttp.get('https://red.msgrestservices.nl/OrderLine/'+window.localStorage.getItem('OrderNumber'), {}, headers);\n // return items\n // }\n\n getPBMOrder(): Observable {\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"PBMtoken\"));\n headers.append('Access-Control-Allow-Origin', '*');\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n headers.append('Accept', 'application/json');\n headers.append('content-type', 'application/json');\n console.log('tokenproduct', window.localStorage.getItem(\"PBMtoken\"))\n // headers.append('UserToken', window.localStorage.getItem('Authtoken'));\n let items = this.commonhttp.get('https://red.msgrestservices.nl/Order/' + window.localStorage.getItem('OrderNumber'), { headers: headers });\n console.log('order', items);\n return items;\n }\n\n // getPBMOrderNative(): Promise {\n // let headers = {\n // \"Content-Type\": \"application/json\",\n // \"UserToken\": `${window.localStorage.getItem(\"PBMtoken\")}`\n // };\n // console.log(headers)\n // this.nativeHttp.setDataSerializer(\"json\");\n // console.log(headers);\n // let items = this.nativeHttp.get('https://red.msgrestservices.nl/Order/' + window.localStorage.getItem('PBMOrderNumber'), {}, headers);\n // console.log('order', items);\n // console.log('this is native');\n // return items;\n // }\n\n getPBMOrderLine(): Observable {\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"PBMtoken\"));\n headers.append('Access-Control-Allow-Origin', '*');\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n headers.append('Accept', 'application/json');\n headers.append('content-type', 'application/json');\n console.log('tokenproduct', window.localStorage.getItem(\"PBMtoken\"))\n // headers.append('UserToken', window.localStorage.getItem('Authtoken'));\n let items = this.commonhttp.get('https://red.msgrestservices.nl/OrderLine/' + window.localStorage.getItem('PBMOrderNumber'), { headers: headers });\n console.log('orderlines', items);\n return items;\n }\n\n // getPBMOrderLineNative(): Promise {\n // let headers = {\n // \"Content-Type\": \"application/json\",\n // \"UserToken\": `${window.localStorage.getItem(\"PBMtoken\")}`\n // };\n // console.log(headers)\n // this.nativeHttp.setDataSerializer(\"json\");\n // console.log(headers);\n // let items = this.nativeHttp.get('https://red.msgrestservices.nl/OrderLine/' + window.localStorage.getItem('PBMOrderNumber'), {}, headers);\n // console.log('orderlines', items);\n // console.log('this is native');\n // return items;\n // }\n\n // putOrder(orderlines, stAddrDelivery, stAddrInvoice, form) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // console.log(this.currentPath + '/thanks/' + window.localStorage.getItem('OrderNumber'))\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": form.value.email,\n // \"sContactTel\": form.value.telephone,\n // \"sContactGsm\": form.value.mobile,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": \"\",\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": form.value.notice,\n // \"sOrderName\": form.value.name,\n // \"sOrderSexe\": \"1\",\n // \"sOrderUser\": \"test\",\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": form.value.reference,\n // \"sOrderXML\": \"\",\n // // \"stAddrDelivery\": {\n // // stAddrDelivery\n // // },\n // // \"stAddrInvoice\": {\n // // stAddrDelivery\n // // },\n // stAddrDelivery,\n // stAddrInvoice,\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": [\n\n // ]\n // },\n // \"stOrderLines\": {\n // \"curTotExcl\": 24.9,\n // \"curTotGross\": 24.9,\n // \"curTotIncl\": 30.13,\n // \"curTotVAT\": 5.23,\n // \"iNbOfLines\": 1,\n // \"iTotPoints\": 0,\n // \"arrOrderLine\": [\n // orderlines\n // ]\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"https://testraadsma2018.msgsoftware.nl/raadsma_web/nl/PaymentCompleteReturn.awp?OrderNr=\" + `${window.localStorage.getItem('OrderNumber')}` + \"%26Project=DYK\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": \"0000-00-00\",\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": 1,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('OrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 100,\n // \"iOrderPayment\": 21,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log(json);\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem('Authtoken'));\n // console.log(window.localStorage.getItem('Authtoken'))\n // let url = '/Order/' + window.localStorage.getItem('OrderNumber');\n // console.log(url)\n // console.log(this.orderchange)\n // let user = this.http.put(url, json, options)\n // .subscribe(data => {\n // console.log(data.json())\n // if (data.json().sResponse) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // this.storeOrdernumber(data.json().sResponse);\n // this.OrderNumber = data.json().sResponse\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // putOrderNative(orderlines, stAddrDelivery, form): Promise {\n\n // // return new Promise((resolve, reject) => {\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": form.value.email,\n // \"sContactTel\": form.value.telephone,\n // \"sContactGsm\": form.value.mobile,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": \"\",\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": form.value.notice,\n // \"sOrderName\": form.value.name,\n // \"sOrderSexe\": \"1\",\n // \"sOrderUser\": \"test\",\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": form.value.reference,\n // \"sOrderXML\": \"\",\n // \"stAddrDelivery\": {\n // stAddrDelivery\n // },\n // \"stAddrInvoice\": {\n // stAddrDelivery\n // },\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": [\n\n // ]\n // },\n // \"stOrderLines\": {\n // \"curTotExcl\": 24.9,\n // \"curTotGross\": 24.9,\n // \"curTotIncl\": 30.13,\n // \"curTotVAT\": 5.23,\n // \"iNbOfLines\": 1,\n // \"iTotPoints\": 0,\n // \"arrOrderLine\": [\n // orderlines\n // ]\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"https://testraadsma2018.msgsoftware.nl/raadsma_web/nl/PaymentCompleteReturn.awp?OrderNr=\" + `${window.localStorage.getItem('OrderNumber')}` + \"%26Project=DYK\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": \"0000-00-00\",\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": 1,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('OrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 100,\n // \"iOrderPayment\": 21,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log(json);\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem('Authtoken')}`\n // };\n\n // console.log(window.localStorage.getItem('Authtoken'))\n // // this.nativeHttp.put('https://red.msgrestservices.nl/Order/'+window.localStorage.getItem('OrderNumber'), json, headers)\n // // .then(\n // // res => resolve(res),\n // // error => reject(error));\n\n // let sale = this.nativeHttp.put('https://red.msgrestservices.nl/Order/' + window.localStorage.getItem('OrderNumber'), json, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // console.log(parsed);\n // // this.userFullname(parsed.stAuthResp.sFullName);\n // },\n // error => error);\n\n // return sale\n // // });\n\n // }\n // putFactOrder(orderlines, stAddrDelivery, form) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // console.log(this.currentPath + '/thanks/' + window.localStorage.getItem('OrderNumber'))\n // console.log(stAddrDelivery)\n // console.log('form data', form)\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": form.value.email,\n // \"sContactTel\": form.value.telephone,\n // \"sContactGsm\": form.value.mobile,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": \"\",\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": form.value.notice,\n // \"sOrderName\": form.value.name,\n // \"sOrderSexe\": \"1\",\n // \"sOrderUser\": \"test\",\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": form.value.reference,\n // \"sOrderXML\": \"\",\n // \"stAddrDelivery\": {\n // stAddrDelivery\n // },\n // \"stAddrInvoice\": {\n // stAddrDelivery\n // },\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": [\n\n // ]\n // },\n // \"stOrderLines\": {\n // \"curTotExcl\": 24.9,\n // \"curTotGross\": 24.9,\n // \"curTotIncl\": 30.13,\n // \"curTotVAT\": 5.23,\n // \"iNbOfLines\": 1,\n // \"iTotPoints\": 0,\n // \"arrOrderLine\": [\n // orderlines\n // ]\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": \"0000-00-00\",\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": 1,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('OrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 100,\n // \"iOrderPayment\": 1,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log(json);\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem('Authtoken'));\n // console.log(window.localStorage.getItem('Authtoken'))\n // let url = '/Order/' + window.localStorage.getItem('OrderNumber');\n // console.log(url)\n // console.log(this.orderchange)\n // let user = this.http.put(url, json, options)\n // .subscribe(data => {\n // console.log(data.json())\n // if (data.json().sResponse) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // this.storeOrdernumber(data.json().sResponse);\n // this.OrderNumber = data.json().sResponse\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // putFactOrderNative(orderlines, stAddrDelivery, form): Promise {\n\n // // return new Promise((resolve, reject) => {\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": form.value.email,\n // \"sContactTel\": form.value.telephone,\n // \"sContactGsm\": form.value.mobile,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": \"\",\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": form.value.notice,\n // \"sOrderName\": form.value.name,\n // \"sOrderSexe\": \"1\",\n // \"sOrderUser\": \"test\",\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": form.value.reference,\n // \"sOrderXML\": \"\",\n // \"stAddrDelivery\": {\n // stAddrDelivery\n // },\n // \"stAddrInvoice\": {\n // stAddrDelivery\n // },\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": [\n\n // ]\n // },\n // \"stOrderLines\": {\n // \"curTotExcl\": 24.9,\n // \"curTotGross\": 24.9,\n // \"curTotIncl\": 30.13,\n // \"curTotVAT\": 5.23,\n // \"iNbOfLines\": 1,\n // \"iTotPoints\": 0,\n // \"arrOrderLine\": [\n // orderlines\n // ]\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": \"0000-00-00\",\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": 1,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('OrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 100,\n // \"iOrderPayment\": 1,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log(json);\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem('Authtoken')}`\n // };\n\n // console.log(window.localStorage.getItem('Authtoken'))\n // // this.nativeHttp.put('https://red.msgrestservices.nl/Order/'+window.localStorage.getItem('OrderNumber'), json, headers)\n // // .then(\n // // res => resolve(res),\n // // error => reject(error));\n\n // let sale = this.nativeHttp.put('https://red.msgrestservices.nl/Order/' + window.localStorage.getItem('OrderNumber'), json, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // console.log(parsed);\n // // this.userFullname(parsed.stAuthResp.sFullName);\n // },\n // error => error);\n\n // return sale\n // // });\n\n // }\n\n\n // putPBMOrder(orderlines, stAddrDelivery, form) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // console.log(this.currentPath + '/thanks/' + window.localStorage.getItem('OrderNumber'))\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": form.value.email,\n // \"sContactTel\": form.value.telephone,\n // \"sContactGsm\": form.value.mobile,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": \"\",\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": form.value.notice,\n // \"sOrderName\": form.value.name,\n // \"sOrderSexe\": \"1\",\n // \"sOrderUser\": \"test\",\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": form.value.reference,\n // \"sOrderXML\": \"\",\n // \"stAddrDelivery\": {\n // stAddrDelivery\n // },\n // \"stAddrInvoice\": {\n // stAddrDelivery\n // },\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": [\n\n // ]\n // },\n // \"stOrderLines\": {\n // orderlines\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": \"0000-00-00\",\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": 1,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('OrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 100,\n // \"iOrderPayment\": 1,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log(json);\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem(\"PBMtoken\"));\n // console.log(window.localStorage.getItem(\"PBMtoken\"))\n // let url = '/Order/' + window.localStorage.getItem('OrderNumber');\n // console.log(url)\n // console.log(this.orderchange)\n // let user = this.http.put(url, json, options)\n // .subscribe(data => {\n // console.log(data.json())\n // if (data.json().sResponse) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // this.storeOrdernumber(data.json().sResponse);\n // this.OrderNumber = data.json().sResponse\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // putPBMOrderNative(orderlines, stAddrDelivery, form): Promise {\n\n // // return new Promise((resolve, reject) => {\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": form.value.email,\n // \"sContactTel\": form.value.telephone,\n // \"sContactGsm\": form.value.mobile,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": \"Raadsma APP\",\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": form.value.notice,\n // \"sOrderName\": form.value.name,\n // \"sOrderSexe\": \"1\",\n // \"sOrderUser\": \"test\",\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": form.value.reference,\n // \"sOrderXML\": \"\",\n // \"stAddrDelivery\": {\n // stAddrDelivery\n // },\n // \"stAddrInvoice\": {\n // stAddrDelivery\n // },\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": [\n\n // ]\n // },\n // \"stOrderLines\": {\n // orderlines\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": \"0000-00-00\",\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": 1,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('OrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 100,\n // \"iOrderPayment\": 1,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log(json);\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"PBMtoken\")}`\n // };\n\n // console.log(window.localStorage.getItem(\"PBMtoken\"))\n // // this.nativeHttp.put('https://red.msgrestservices.nl/Order/'+window.localStorage.getItem('OrderNumber'), json, headers)\n // // .then(\n // // res => resolve(res),\n // // error => reject(error));\n\n // let sale = this.nativeHttp.put('https://red.msgrestservices.nl/Order/' + window.localStorage.getItem('OrderNumber'), json, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // console.log(parsed);\n // // this.userFullname(parsed.stAuthResp.sFullName);\n // },\n // error => error);\n\n // return sale\n // // });\n\n // }\n\n // putOrderMollieNewFactNative(orderlines, stAddrDelivery, stAddrInvoice, form, formfact, email, date, deliverytype): Promise {\n // let arrOrderLine = orderlines\n // console.log(stAddrDelivery)\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": form.value.email,\n // \"sContactTel\": form.value.telephone,\n // \"sContactGsm\": form.value.mobile,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": \"\",\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": form.value.notice,\n // \"sOrderName\": form.value.name,\n // \"sOrderSexe\": \"1\",\n // \"sOrderUser\": \"\",\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": form.value.reference,\n // \"sOrderXML\": \"\",\n // stAddrDelivery,\n // \"stAddrInvoice\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"1\",\n // \"sCity\": formfact.value.city,\n // \"sCountry\": \"Nederland\",\n // \"sCountryCode\": \"NL\",\n // \"sHouseNumber\": formfact.value.housenumber,\n // \"sLatitude\": \"\",\n // \"sLongitude\": \"\",\n // \"sSociete\": \"\",\n // \"sStateCode\": \"\",\n // \"sStateName\": \"\",\n // \"sStreet1\": formfact.value.street+''+formfact.value.housenumber,\n // \"sStreet2\": \"\",\n // \"sZipCode\": formfact.value.zipcode\n // },\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": []\n // },\n // // stOrderLines,\n // \"stOrderLines\": {\n // \"curTotExcl\": \"\",\n // \"curTotGross\": \"\",\n // \"curTotIncl\": \"\",\n // \"curTotVAT\": \"\",\n // \"iNbOfLines\": \"\",\n // \"iTotPoints\": \"\",\n // arrOrderLine\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": date,\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": deliverytype,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('OrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 100,\n // \"iOrderPayment\": 21,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log('putorder', json);\n // console.log(json);\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\n // };\n // console.log(window.localStorage.getItem(\"Authtoken\"))\n // let sale = this.nativeHttp.put('https://red.msgrestservices.nl/Order/' + window.localStorage.getItem('OrderNumber'), json, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // console.log(parsed);\n // this.ideal = parsed.stOrderPayment.sIdealPayURL;\n // console.log('idealurl', this.ideal)\n // },\n // error => error);\n // return sale\n\n // }\n\n // putOrderFactNewFactNative(orderlines, stAddrDelivery, stAddrInvoice, form, formfact, email, date, deliverytype): Promise {\n // let arrOrderLine = orderlines\n // console.log(stAddrDelivery)\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": form.value.email,\n // \"sContactTel\": form.value.telephone,\n // \"sContactGsm\": form.value.mobile,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": \"\",\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": form.value.notice,\n // \"sOrderName\": form.value.name,\n // \"sOrderSexe\": \"1\",\n // \"sOrderUser\": \"\",\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": form.value.reference,\n // \"sOrderXML\": \"\",\n // stAddrDelivery,\n // \"stAddrInvoice\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"1\",\n // \"sCity\": formfact.value.city,\n // \"sCountry\": \"Nederland\",\n // \"sCountryCode\": \"NL\",\n // \"sHouseNumber\": formfact.value.housenumber,\n // \"sLatitude\": \"\",\n // \"sLongitude\": \"\",\n // \"sSociete\": \"\",\n // \"sStateCode\": \"\",\n // \"sStateName\": \"\",\n // \"sStreet1\": formfact.value.street+''+formfact.value.housenumber,\n // \"sStreet2\": \"\",\n // \"sZipCode\": formfact.value.zipcode\n // },\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": []\n // },\n // // stOrderLines,\n // \"stOrderLines\": {\n // \"curTotExcl\": \"\",\n // \"curTotGross\": \"\",\n // \"curTotIncl\": \"\",\n // \"curTotVAT\": \"\",\n // \"iNbOfLines\": \"\",\n // \"iTotPoints\": \"\",\n // arrOrderLine\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": date,\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": deliverytype,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('OrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 100,\n // \"iOrderPayment\": 1,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log('putorder', json);\n // console.log(json);\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\n // };\n // console.log(window.localStorage.getItem(\"Authtoken\"))\n // let sale = this.nativeHttp.put('https://red.msgrestservices.nl/Order/' + window.localStorage.getItem('OrderNumber'), json, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // console.log(parsed);\n // this.ideal = parsed.stOrderPayment.sIdealPayURL;\n // console.log('idealurl', this.ideal)\n // },\n // error => error);\n // return sale\n\n // }\n\n // putPBMOrderFactNewFactNative(orderlines, stAddrDelivery, stAddrInvoice, form, formfact, email, pbmuser): Promise {\n // let arrOrderLine = orderlines\n // console.log(stAddrDelivery)\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": pbmuser.sContactMail,\n // \"sContactTel\": pbmuser.sContactTel,\n // \"sContactGsm\": pbmuser.sContactGsm,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": pbmuser.sOrderCorr,\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": \"\",\n // \"sOrderName\": pbmuser.sOrderName,\n // \"sOrderSexe\": pbmuser.sOrderSexe,\n // \"sOrderUser\": pbmuser.sOrderUser,\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": \"\",\n // \"sOrderXML\": \"\",\n // stAddrDelivery,\n // \"stAddrInvoice\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"1\",\n // \"sCity\": formfact.value.city,\n // \"sCountry\": \"Nederland\",\n // \"sCountryCode\": \"NL\",\n // \"sHouseNumber\": formfact.value.housenumber,\n // \"sLatitude\": \"\",\n // \"sLongitude\": \"\",\n // \"sSociete\": \"\",\n // \"sStateCode\": \"\",\n // \"sStateName\": \"\",\n // \"sStreet1\": formfact.value.street+''+formfact.value.housenumber,\n // \"sStreet2\": \"\",\n // \"sZipCode\": formfact.value.zipcode\n // },\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": []\n // },\n // // stOrderLines,\n // \"stOrderLines\": {\n // \"curTotExcl\": \"\",\n // \"curTotGross\": \"\",\n // \"curTotIncl\": \"\",\n // \"curTotVAT\": \"\",\n // \"iNbOfLines\": \"\",\n // \"iTotPoints\": \"\",\n // arrOrderLine\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": \"0000-00-00\",\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": 1,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('PBMOrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 2,\n // \"iOrderPayment\": 1,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log('putorder', json);\n // console.log(json);\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"PBMtoken\")}`\n // };\n // console.log(window.localStorage.getItem(\"PBMtoken\"))\n // let sale = this.nativeHttp.put('https://red.msgrestservices.nl/Order/' + window.localStorage.getItem('PBMOrderNumber'), json, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // console.log(parsed);\n // this.ideal = parsed.stOrderPayment.sIdealPayURL;\n // console.log('idealurl', this.ideal)\n // },\n // error => error);\n // return sale\n\n // }\n\n // putOrderMollieNative(orderlines, stAddrDelivery, stAddrInvoice, form, email, date, deliverytype): Promise {\n // let arrOrderLine = orderlines\n // console.log(stAddrDelivery)\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": form.value.email,\n // \"sContactTel\": form.value.telephone,\n // \"sContactGsm\": form.value.mobile,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": \"\",\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": form.value.notice,\n // \"sOrderName\": form.value.name,\n // \"sOrderSexe\": \"1\",\n // \"sOrderUser\": \"\",\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": form.value.reference,\n // \"sOrderXML\": \"\",\n // stAddrDelivery,\n // stAddrInvoice,\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": []\n // },\n // \"stOrderLines\": {\n // \"curTotExcl\": \"\",\n // \"curTotGross\": \"\",\n // \"curTotIncl\": \"\",\n // \"curTotVAT\": \"\",\n // \"iNbOfLines\": \"\",\n // \"iTotPoints\": \"\",\n // arrOrderLine\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": date,\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": deliverytype,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('OrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 100,\n // \"iOrderPayment\": 21,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log('putorder', json);\n // console.log(json);\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\n // };\n // console.log(window.localStorage.getItem(\"Authtoken\"))\n // let sale = this.nativeHttp.put('https://red.msgrestservices.nl/Order/'+window.localStorage.getItem('OrderNumber'), json, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // console.log(parsed);\n // this.ideal = parsed.stOrderPayment.sIdealPayURL;\n // console.log('idealurl', this.ideal)\n // },\n // error => error);\n // return sale\n\n // }\n\n // putPBMOrderFactNative(orderlines, stAddrDelivery, stAddrInvoice, form, email, pbmuser): Promise {\n // let arrOrderLine = orderlines\n // console.log(stAddrDelivery)\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": pbmuser.sContactMail,\n // \"sContactTel\": pbmuser.sContactTel,\n // \"sContactGsm\": pbmuser.sContactGsm,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": pbmuser.sOrderCorr,\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": \"\",\n // \"sOrderName\": pbmuser.sOrderName,\n // \"sOrderSexe\": pbmuser.sOrderSexe,\n // \"sOrderUser\": pbmuser.sOrderUser,\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": \"\",\n // \"sOrderXML\": \"\",\n // stAddrDelivery,\n // stAddrInvoice,\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": []\n // },\n // \"stOrderLines\": {\n // \"curTotExcl\": \"\",\n // \"curTotGross\": \"\",\n // \"curTotIncl\": \"\",\n // \"curTotVAT\": \"\",\n // \"iNbOfLines\": \"\",\n // \"iTotPoints\": \"\",\n // arrOrderLine\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": \"0000-00-00\",\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": 1,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('PBMOrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 2,\n // \"iOrderPayment\": 1,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log('putorder', json);\n // console.log(json);\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"PBMtoken\")}`\n // };\n // console.log(window.localStorage.getItem(\"PBMtoken\"))\n // let sale = this.nativeHttp.put('https://red.msgrestservices.nl/Order/'+window.localStorage.getItem('PBMOrderNumber'), json, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // console.log(parsed);\n // this.ideal = parsed.stOrderPayment.sIdealPayURL;\n // console.log('idealurl', this.ideal)\n // },\n // error => error);\n // return sale\n\n // }\n\n // putOrderFactNative(orderlines, stAddrDelivery, stAddrInvoice, form, email, date, deliverytype): Promise {\n // let arrOrderLine = orderlines\n // console.log(stAddrDelivery)\n // console.log('delivertype process',deliverytype)\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": form.value.email,\n // \"sContactTel\": form.value.telephone,\n // \"sContactGsm\": form.value.mobile,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": \"\",\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": form.value.notice,\n // \"sOrderName\": form.value.name,\n // \"sOrderSexe\": \"1\",\n // \"sOrderUser\": \"\",\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": form.value.reference,\n // \"sOrderXML\": \"\",\n // stAddrDelivery,\n // stAddrInvoice,\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": []\n // },\n // \"stOrderLines\": {\n // \"curTotExcl\": \"\",\n // \"curTotGross\": \"\",\n // \"curTotIncl\": \"\",\n // \"curTotVAT\": \"\",\n // \"iNbOfLines\": \"\",\n // \"iTotPoints\": \"\",\n // arrOrderLine\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": date,\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": deliverytype,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('OrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 100,\n // \"iOrderPayment\": 1,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log('putorder', json);\n // console.log(json);\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\n // };\n // console.log(window.localStorage.getItem(\"Authtoken\"))\n // let sale = this.nativeHttp.put('https://red.msgrestservices.nl/Order/'+window.localStorage.getItem('OrderNumber'), json, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // console.log(parsed);\n // this.ideal = parsed.stOrderPayment.sIdealPayURL;\n // console.log('idealurl', this.ideal)\n // },\n // error => error);\n // return sale\n\n // }\n\n // putOrderMollieNewFact(orderlines, stAddrDelivery, stAddrInvoice, form, formfact, email) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // console.log(this.currentPath + '/thanks/' + window.localStorage.getItem('OrderNumber'))\n // console.log('putorderfunction1')\n // let arrOrderLine = orderlines\n // console.log(stAddrDelivery)\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": form.value.email,\n // \"sContactTel\": form.value.telephone,\n // \"sContactGsm\": form.value.mobile,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": \"\",\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": form.value.notice,\n // \"sOrderName\": form.value.name,\n // \"sOrderSexe\": \"1\",\n // \"sOrderUser\": \"\",\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": form.value.reference,\n // \"sOrderXML\": \"\",\n // stAddrDelivery,\n // \"stAddrInvoice\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"1\",\n // \"sCity\": formfact.value.city,\n // \"sCountry\": \"Nederland\",\n // \"sCountryCode\": \"NL\",\n // \"sHouseNumber\": formfact.value.housenumber,\n // \"sLatitude\": \"\",\n // \"sLongitude\": \"\",\n // \"sSociete\": \"\",\n // \"sStateCode\": \"\",\n // \"sStateName\": \"\",\n // \"sStreet1\": formfact.value.street+''+formfact.value.housenumber,\n // \"sStreet2\": \"\",\n // \"sZipCode\": formfact.value.zipcode\n // },\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": []\n // },\n // \"stOrderLines\": {\n // \"curTotExcl\": \"\",\n // \"curTotGross\": \"\",\n // \"curTotIncl\": \"\",\n // \"curTotVAT\": \"\",\n // \"iNbOfLines\": \"\",\n // \"iTotPoints\": \"\",\n // arrOrderLine\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": \"0000-00-00\",\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": 1,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('OrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 100,\n // \"iOrderPayment\": 21,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log('putorder', json);\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem(\"Authtoken\"));\n // console.log(window.localStorage.getItem(\"Authtoken\"))\n // let url = '/Order/'+window.localStorage.getItem('OrderNumber');\n // console.log(url)\n // console.log(this.orderchange)\n // let user = this.http.put(url, json, options)\n // .subscribe(data => {\n // console.log(data.json())\n // if (data.json().stOrderPayment) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // //this.storeOrdernumber(data.json().sResponse);\n // this.OrderNumber = data.json().sResponse\n // this.ideal = data.json().stOrderPayment.sIdealPayURL;\n // console.log('idealurl', this.ideal)\n // }\n // else\n // resolve(false);\n // });\n // console.log(user)\n // });\n // }\n\n\n // putPBMOrderFactNewFact(orderlines, stAddrDelivery, stAddrInvoice, form, formfact, email, pbmuser) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // console.log(this.currentPath + '/thanks/' + window.localStorage.getItem('OrderNumber'))\n // console.log('putorderfunction1')\n // let arrOrderLine = orderlines\n // console.log(stAddrDelivery)\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": pbmuser.sContactMail,\n // \"sContactTel\": pbmuser.sContactTel,\n // \"sContactGsm\": pbmuser.sContactGsm,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": pbmuser.sOrderCorr,\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": \"\",\n // \"sOrderName\": pbmuser.sOrderName,\n // \"sOrderSexe\": pbmuser.sOrderSexe,\n // \"sOrderUser\": pbmuser.sOrderUser,\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": \"\",\n // \"sOrderXML\": \"\",\n // stAddrDelivery,\n // \"stAddrInvoice\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"1\",\n // \"sCity\": formfact.value.city,\n // \"sCountry\": \"Nederland\",\n // \"sCountryCode\": \"NL\",\n // \"sHouseNumber\": formfact.value.housenumber,\n // \"sLatitude\": \"\",\n // \"sLongitude\": \"\",\n // \"sSociete\": \"\",\n // \"sStateCode\": \"\",\n // \"sStateName\": \"\",\n // \"sStreet1\": formfact.value.street+''+formfact.value.housenumber,\n // \"sStreet2\": \"\",\n // \"sZipCode\": formfact.value.zipcode\n // },\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": []\n // },\n // \"stOrderLines\": {\n // \"curTotExcl\": \"\",\n // \"curTotGross\": \"\",\n // \"curTotIncl\": \"\",\n // \"curTotVAT\": \"\",\n // \"iNbOfLines\": \"\",\n // \"iTotPoints\": \"\",\n // arrOrderLine\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": \"0000-00-00\",\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": 1,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('PBMOrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 2,\n // \"iOrderPayment\": 1,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log('putorder', json);\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem(\"PBMtoken\"));\n // console.log(window.localStorage.getItem(\"PBMtoken\"))\n // let url = '/Order/'+window.localStorage.getItem('PBMOrderNumber');\n // console.log(url)\n // console.log(this.orderchange)\n // let user = this.http.put(url, json, options)\n // .subscribe(data => {\n // console.log(data.json())\n // if (data.json().stOrderPayment) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // //this.storeOrdernumber(data.json().sResponse);\n // this.OrderNumber = data.json().sResponse\n // this.ideal = data.json().stOrderPayment.sIdealPayURL;\n // console.log('idealurl', this.ideal)\n // }\n // else\n // resolve(false);\n // });\n // console.log(user)\n // });\n // }\n\n // putOrderFactNewFact(orderlines, stAddrDelivery, stAddrInvoice, form, formfact, email) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // console.log(this.currentPath + '/thanks/' + window.localStorage.getItem('OrderNumber'))\n // console.log('putorderfunction1')\n // let arrOrderLine = orderlines\n // console.log(stAddrDelivery)\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": form.value.email,\n // \"sContactTel\": form.value.telephone,\n // \"sContactGsm\": form.value.mobile,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": \"Van DIJK\",\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": form.value.notice,\n // \"sOrderName\": form.value.name,\n // \"sOrderSexe\": \"1\",\n // \"sOrderUser\": \"\",\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": form.value.reference,\n // \"sOrderXML\": \"\",\n // stAddrDelivery,\n // \"stAddrInvoice\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"1\",\n // \"sCity\": formfact.value.city,\n // \"sCountry\": \"Nederland\",\n // \"sCountryCode\": \"NL\",\n // \"sHouseNumber\": formfact.value.housenumber,\n // \"sLatitude\": \"\",\n // \"sLongitude\": \"\",\n // \"sSociete\": \"\",\n // \"sStateCode\": \"\",\n // \"sStateName\": \"\",\n // \"sStreet1\": formfact.value.street+''+formfact.value.housenumber,\n // \"sStreet2\": \"\",\n // \"sZipCode\": formfact.value.zipcode\n // },\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": []\n // },\n // \"stOrderLines\": {\n // \"curTotExcl\": \"\",\n // \"curTotGross\": \"\",\n // \"curTotIncl\": \"\",\n // \"curTotVAT\": \"\",\n // \"iNbOfLines\": \"\",\n // \"iTotPoints\": \"\",\n // arrOrderLine\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": \"0000-00-00\",\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": 1,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('OrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 100,\n // \"iOrderPayment\": 1,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log('putorder', json);\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem(\"Authtoken\"));\n // console.log(window.localStorage.getItem(\"Authtoken\"))\n // let url = '/Order/'+window.localStorage.getItem('OrderNumber');\n // console.log(url)\n // console.log(this.orderchange)\n // let user = this.http.put(url, json, options)\n // .subscribe(data => {\n // console.log(data.json())\n // if (data.json().stOrderPayment) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // //this.storeOrdernumber(data.json().sResponse);\n // this.OrderNumber = data.json().sResponse\n // this.ideal = data.json().stOrderPayment.sIdealPayURL;\n // console.log('idealurl', this.ideal)\n // }\n // else\n // resolve(false);\n // });\n // console.log(user)\n // });\n // }\n\n // putOrderMollie(orderlines, stAddrDelivery, stAddrInvoice, form, email) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // console.log(this.currentPath + '/thanks/' + window.localStorage.getItem('OrderNumber'))\n // console.log('putorderfunction1')\n // let arrOrderLine = orderlines\n // console.log(stAddrDelivery)\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": form.value.email,\n // \"sContactTel\": form.value.telephone,\n // \"sContactGsm\": form.value.mobile,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": \"Van DIJK\",\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": form.value.notice,\n // \"sOrderName\": form.value.name,\n // \"sOrderSexe\": \"1\",\n // \"sOrderUser\": \"\",\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": form.value.reference,\n // \"sOrderXML\": \"\",\n // stAddrDelivery,\n // stAddrInvoice,\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": []\n // },\n // \"stOrderLines\": {\n // \"curTotExcl\": \"\",\n // \"curTotGross\": \"\",\n // \"curTotIncl\": \"\",\n // \"curTotVAT\": \"\",\n // \"iNbOfLines\": \"\",\n // \"iTotPoints\": \"\",\n // arrOrderLine\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": \"0000-00-00\",\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": 1,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('OrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 100,\n // \"iOrderPayment\": 21,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log('putorder', JSON.stringify(json));\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem(\"Authtoken\"));\n // console.log(window.localStorage.getItem(\"Authtoken\"))\n // let url = '/Order/'+window.localStorage.getItem('OrderNumber');\n // console.log(url)\n // console.log(this.orderchange)\n // let user = this.http.put(url, json, options)\n // .subscribe(data => {\n // console.log(data.json())\n // if (data.json().stOrderPayment) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // //this.storeOrdernumber(data.json().sResponse);\n // this.OrderNumber = data.json().sResponse\n // this.ideal = data.json().stOrderPayment.sIdealPayURL;\n // console.log('idealurl', this.ideal)\n // }\n // else\n // resolve(false);\n // });\n // console.log(user)\n // });\n // }\n\n // putOrderFact(orderlines, stAddrDelivery, stAddrInvoice, form, email) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // console.log(this.currentPath + '/thanks/' + window.localStorage.getItem('OrderNumber'))\n // console.log('putorderfunction1')\n // let arrOrderLine = orderlines\n // console.log(stAddrDelivery)\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": form.value.email,\n // \"sContactTel\": form.value.telephone,\n // \"sContactGsm\": form.value.mobile,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": \"Van DIJK\",\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": form.value.notice,\n // \"sOrderName\": form.value.name,\n // \"sOrderSexe\": \"1\",\n // \"sOrderUser\": \"\",\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": form.value.reference,\n // \"sOrderXML\": \"\",\n // stAddrDelivery,\n // stAddrInvoice,\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": []\n // },\n // \"stOrderLines\": {\n // \"curTotExcl\": \"\",\n // \"curTotGross\": \"\",\n // \"curTotIncl\": \"\",\n // \"curTotVAT\": \"\",\n // \"iNbOfLines\": \"\",\n // \"iTotPoints\": \"\",\n // arrOrderLine\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": \"0000-00-00\",\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": 1,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('OrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 100,\n // \"iOrderPayment\": 1,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log('putorder', JSON.stringify(json));\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem(\"Authtoken\"));\n // console.log(window.localStorage.getItem(\"Authtoken\"))\n // let url = '/Order/'+window.localStorage.getItem('OrderNumber');\n // console.log(url)\n // console.log(this.orderchange)\n // let user = this.http.put(url, json, options)\n // .subscribe(data => {\n // console.log(data.json())\n // if (data.json().stOrderPayment) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // //this.storeOrdernumber(data.json().sResponse);\n // this.OrderNumber = data.json().sResponse\n // this.ideal = data.json().stOrderPayment.sIdealPayURL;\n // console.log('idealurl', this.ideal)\n // }\n // else\n // resolve(false);\n // });\n // console.log(user)\n // });\n // }\n\n // putPBMOrderFact(orderlines, stAddrDelivery, stAddrInvoice, form, email, pbmuser) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // console.log(this.currentPath + '/thanks/' + window.localStorage.getItem('PBMOrderNumber'))\n // console.log('putorderfunction1')\n // let arrOrderLine = orderlines\n // console.log(stAddrDelivery)\n // let json = {\n // \"stOrder\": {\n // \"bComplete\": false,\n // \"bInform\": false,\n // \"bUseNews\": false,\n // \"bUrgentOrder\": false,\n // \"iAccClient\": 0,\n // \"sAccAdres\": \"\",\n // \"sContactMail\": pbmuser.sContactMail,\n // \"sContactTel\": pbmuser.sContactTel,\n // \"sContactGsm\": pbmuser.sContactGsm,\n // \"sOrderCompTyp\": \"\",\n // \"sOrderCorr\": pbmuser.sOrderCorr,\n // \"sOrderKvkNr\": \"\",\n // \"sOrderMemo\": \"\",\n // \"sOrderName\": pbmuser.sOrderName,\n // \"sOrderSexe\": pbmuser.sOrderSexe,\n // \"sOrderUser\": pbmuser.sOrderUser,\n // \"sOrderValuta\": \"EUR\",\n // \"sOrderVatNr\": \"\",\n // \"sOrderWork\": \"\",\n // \"sOrderYourRef\": \"\",\n // \"sOrderXML\": \"\",\n // stAddrDelivery,\n // stAddrInvoice,\n // \"stAddrWork\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"WRK\",\n // \"sCity\": \"\",\n // \"sCountry\": \"\",\n // \"sCountryCode\": \"\",\n // \"sHouseNumber\": \"\",\n // \"sSociete\": \"\",\n // \"sStreet1\": \"\",\n // \"sStreet2\": \"\",\n // \"sZipCode\": \"\",\n // \"sLongitude\": \"\",\n // \"sLatitude\": \"\"\n // }\n // },\n // \"stOrderFiles\": {\n // \"arrArtURL\": []\n // },\n // \"stOrderLines\": {\n // \"curTotExcl\": \"\",\n // \"curTotGross\": \"\",\n // \"curTotIncl\": \"\",\n // \"curTotVAT\": \"\",\n // \"iNbOfLines\": \"\",\n // \"iTotPoints\": \"\",\n // arrOrderLine\n // },\n // \"stOrderPayment\": {\n // \"sAccBic\": \"\",\n // \"sAccCity\": \"\",\n // \"sAccIban\": \"\",\n // \"sAccName\": \"\",\n // \"sAccNr\": \"\",\n // \"sCardType\": \"\",\n // \"sCardOwner\": \"\",\n // \"sCardNr\": \"\",\n // \"sCardSafety\": \"\",\n // \"sCardMonth\": \"\",\n // \"sCardYear\": \"\",\n // \"sIdealStat\": \"\",\n // \"sIdealParam\": \"\",\n // \"sIdealError\": \"\",\n // \"sIdealPayID\": \"\",\n // \"sIdealPM\": \"\",\n // \"sIdealLink\": \"\"\n // },\n // \"stOrderState\": {\n // \"bEMaintenance\": false,\n // \"bKopAccJN\": false,\n // \"bKopOCI\": false,\n // \"dDeliveryDate\": \"0000-00-00\",\n // \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n // \"iDeliveryType\": 1,\n // \"iOrderLang\": 3,\n // \"iOrderNumber\": window.localStorage.getItem('PBMOrderNumber'),\n // \"iOrderState\": 7,\n // \"iOrderType\": 2,\n // \"iOrderPayment\": 1,\n // \"sOrderIPAddr\": \"::1\",\n // \"sOrderValuta\": \"EUR\"\n // }\n // }\n // console.log('putorder', JSON.stringify(json));\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem(\"PBMtoken\"));\n // console.log(window.localStorage.getItem(\"PBMtoken\"))\n // let url = '/Order/'+window.localStorage.getItem('PBMOrderNumber');\n // console.log(url)\n // console.log(this.orderchange)\n // let user = this.http.put(url, json, options)\n // .subscribe(data => {\n // console.log(data.json())\n // if (data.json().stOrderPayment) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // //this.storeOrdernumber(data.json().sResponse);\n // this.OrderNumber = data.json().sResponse\n // this.ideal = data.json().stOrderPayment.sIdealPayURL;\n // console.log('idealurl', this.ideal)\n // }\n // else\n // resolve(false);\n // });\n // console.log(user)\n // });\n // }\n\n\n\n\n storeOrdernumber(OrderNumber) {\n window.localStorage.setItem('OrderNumber', OrderNumber);\n // this.storage.set('OrderNumber', OrderNumber);\n this.useOrdernumber(OrderNumber);\n }\n\n storePBMOrdernumber(OrderNumber) {\n window.localStorage.setItem('PBMOrderNumber', OrderNumber);\n // this.storage.set('PBMOrderNumber', OrderNumber);\n this.useOrdernumber(OrderNumber);\n }\n\n usePBMOrdernumber(token) {\n this.PBMOrderNumber = token;\n }\n\n useOrdernumber(token) {\n this.OrderNumber = token;\n }\n\n\n // postOrderLine(item: any) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem('Authtoken'));\n // console.log(window.localStorage.getItem('Authtoken'))\n // console.log('test', item);\n // let url = '/OrderLine/' + window.localStorage.getItem('OrderNumber');\n // let user = this.http.post(url, JSON.stringify(item), options)\n // .subscribe(data => {\n // if (data.json().sResponse) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // this.storeOrdernumber(data.json().sResponse);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // deleteOrderLine(item: any, orderlineid) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem(\"Authtoken\"));\n // console.log(window.localStorage.getItem(\"Authtoken\"))\n // console.log('test', item);\n // let url = '/OrderLine/' + window.localStorage.getItem('OrderNumber')+'/'+orderlineid;\n // console.log(url)\n // let user = this.http.put(url, JSON.stringify(item), options)\n // .subscribe(data => {\n // if (data.json().sResponse) {\n // console.log('deleteitem', data.json().sResponse)\n // // //this.storeOrdernumber(data.json().sResponse);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // deletePBMOrderLine(item: any, orderlineid) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem(\"PBMtoken\"));\n // console.log(window.localStorage.getItem(\"PBMtoken\"))\n // console.log('test', item);\n // let url = '/OrderLine/' + window.localStorage.getItem('PBMOrderNumber')+'/'+orderlineid;\n // console.log(url)\n // let user = this.http.put(url, JSON.stringify(item), options)\n // .subscribe(data => {\n // if (data.json().sResponse) {\n // console.log('deleteitem', data.json().sResponse)\n // // //this.storeOrdernumber(data.json().sResponse);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // deleteOrderLineNative(item, orderlineid): Promise {\n\n // // let loading = this.loadingCtrl.create();\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\n // };\n // console.log(item)\n // console.log(orderlineid)\n // console.log('https://red.msgrestservices.nl/OrderLine/'+window.localStorage.getItem('OrderNumber')+'/'+orderlineid)\n // let sale = this.nativeHttp.put('https://red.msgrestservices.nl/OrderLine/'+window.localStorage.getItem('OrderNumber')+'/'+orderlineid, item, headers)\n // .then(\n // res => {\n // console.log('remove item', res.status);\n // if(res.status === 204 || res.status === 401){\n\n // }else{\n // let parsed = JSON.parse(res.data);\n // console.log('carserviceordernumber', parsed['sResponse '])\n // }\n // // this.storeUserCredentials(parsed.stAuthResp.sSessionID);\n // // this.storeUserID(parsed.stAuthResp.iUserId);\n // // this.storeClientID(parsed.stAuthResp.iClient);\n // // this.storeUserType(parsed.stAuthResp.iUserType);\n // // this.storePBM(parsed.stAuthResp.iPbmMode);\n // // this.storeallowPBM(parsed.stAuthResp.bAllowPbm);\n // // console.log(parsed.stAuthResp.iPbmMode);\n // // console.log('carserviceordernumber', parsed.sResponse)\n // //this.storeOrdernumber(parsed.sResponse);\n // // console.log(parsed);\n // // this.userFullname(parsed.stAuthResp.sFullName);\n // },\n // error => error);\n \n // return sale\n \n // }\n\n\n // OrderLineNative(item, orderlineid): Promise {\n\n // // let loading = this.loadingCtrl.create();\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\n // };\n // console.log(item)\n // console.log(orderlineid)\n // console.log('https://red.msgrestservices.nl/OrderLine/'+window.localStorage.getItem('OrderNumber')+'/'+orderlineid)\n // let sale = this.nativeHttp.put('https://red.msgrestservices.nl/OrderLine/'+window.localStorage.getItem('OrderNumber')+'/'+orderlineid, item, headers)\n // .then(\n // res => {let parsed = JSON.parse(res.data);\n // // this.storeUserCredentials(parsed.stAuthResp.sSessionID);\n // // this.storeUserID(parsed.stAuthResp.iUserId);\n // // this.storeClientID(parsed.stAuthResp.iClient);\n // // this.storeUserType(parsed.stAuthResp.iUserType);\n // // this.storePBM(parsed.stAuthResp.iPbmMode);\n // // this.storeallowPBM(parsed.stAuthResp.bAllowPbm);\n // // console.log(parsed.stAuthResp.iPbmMode);\n // console.log('carserviceordernumber', parsed.sResponse)\n // //this.storeOrdernumber(parsed.sResponse);\n // console.log(parsed);\n // // this.userFullname(parsed.stAuthResp.sFullName);\n // },\n // error => error);\n \n // return sale\n \n // }\n\n // async deletePBMOrderLineNative(item, orderlineid): Promise {\n // // let loading = this.loadingCtrl.create();\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"PBMtoken\")}`\n // };\n // let sale = this.nativeHttp.put('https://red.msgrestservices.nl/OrderLine/'+window.localStorage.getItem('PBMOrderNumber')+'/'+orderlineid, item, headers)\n // .then(\n // res => {let parsed = JSON.parse(res.data);\n // // this.storeUserCredentials(parsed.stAuthResp.sSessionID);\n // // this.storeUserID(parsed.stAuthResp.iUserId);\n // // this.storeClientID(parsed.stAuthResp.iClient);\n // // this.storeUserType(parsed.stAuthResp.iUserType);\n // // this.storePBM(parsed.stAuthResp.iPbmMode);\n // // this.storeallowPBM(parsed.stAuthResp.bAllowPbm);\n // // console.log(parsed.stAuthResp.iPbmMode);\n // console.log('carserviceordernumber', parsed.sResponse)\n // //this.storeOrdernumber(parsed.sResponse);\n // console.log(parsed);\n // // this.userFullname(parsed.stAuthResp.sFullName);\n // },\n // error => error);\n \n // return sale\n \n // }\n\n // postPBMOrderLine(item: any) {\n // return new Promise((resolve, reject) => {\n // var headers = new Headers();\n // let options = new RequestOptions({ headers: headers, withCredentials: true });\n // headers.append('Access-Control-Allow-Origin', '*');\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\n // headers.append('Accept', 'application/json');\n // headers.append('content-type', 'application/json');\n // headers.append('UserToken', window.localStorage.getItem(\"PBMtoken\"));\n // console.log(window.localStorage.getItem('Authtoken'))\n // console.log('test', item);\n // let url = '/OrderLine/'+window.localStorage.getItem(\"PBMOrderNumber\");\n // let user = this.http.post(url, JSON.stringify(item), options)\n // .subscribe(data => {\n // if (data.json().sResponse) {\n // console.log('carserviceordernumber', data.json().sResponse)\n // this.storeOrdernumber(data.json().sResponse);\n // }\n // else\n // resolve(false);\n // });\n // });\n // }\n\n // postOrderLineNative(item) {\n // return new Promise((resolve, reject) => {\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem('Authtoken')}`\n // };\n // this.nativeHttp.post('https://red.msgrestservices.nl/OrderLine/'+window.localStorage.getItem('OrderNumber'), item, headers)\n // .then(\n // res => resolve(res),\n // error => reject(error));\n // });\n // }\n\n // async postOrderLineNative(item): Promise {\n // // let loading = this.loadingCtrl.create();\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\n // };\n // let sale = this.nativeHttp.post('https://red.msgrestservices.nl/OrderLine/' + window.localStorage.getItem('OrderNumber'), item, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // // this.storeUserCredentials(parsed.stAuthResp.sSessionID);\n // // this.storeUserID(parsed.stAuthResp.iUserId);\n // // this.storeClientID(parsed.stAuthResp.iClient);\n // // this.storeUserType(parsed.stAuthResp.iUserType);\n // // this.storePBM(parsed.stAuthResp.iPbmMode);\n // // this.storeallowPBM(parsed.stAuthResp.bAllowPbm);\n // // console.log(parsed.stAuthResp.iPbmMode);\n // console.log('carserviceordernumber', parsed.sResponse)\n // this.storeOrdernumber(parsed.sResponse);\n // console.log(parsed);\n // // this.userFullname(parsed.stAuthResp.sFullName);\n // },\n // error => error);\n\n // return sale\n\n // }\n\n // async postOrderLineNative(item): Observable {\n // // let loading = this.loadingCtrl.create();\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\n // };\n // let sale = this.commonhttp.post('https://red.msgrestservices.nl/OrderLine/' + window.localStorage.getItem('OrderNumber'), item, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // // this.storeUserCredentials(parsed.stAuthResp.sSessionID);\n // // this.storeUserID(parsed.stAuthResp.iUserId);\n // // this.storeClientID(parsed.stAuthResp.iClient);\n // // this.storeUserType(parsed.stAuthResp.iUserType);\n // // this.storePBM(parsed.stAuthResp.iPbmMode);\n // // this.storeallowPBM(parsed.stAuthResp.bAllowPbm);\n // // console.log(parsed.stAuthResp.iPbmMode);\n // console.log('carserviceordernumber', parsed.sResponse)\n // this.storeOrdernumber(parsed.sResponse);\n // console.log(parsed);\n // // this.userFullname(parsed.stAuthResp.sFullName);\n // },\n // error => error);\n\n // return sale\n\n // }\n\n postOrderLine(item): Observable {\n const headers = {\n 'Content-Type': 'application/json',\n \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\n }\n const body=JSON.stringify(item);\n console.log(body)\n return this.commonhttp.post('https://red.msgrestservices.nl/OrderLine/' + window.localStorage.getItem('OrderNumber'), body,{'headers':headers})\n }\n\n putOrderFactNewFact(orderlines, stAddrInvoice, form, formfact, email, date, deliverytype): Observable {\n let arrOrderLine = orderlines\n const headers = {\n 'Content-Type': 'application/json',\n \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\n }\n let json = {\n \"stOrder\": {\n \"bComplete\": false,\n \"bInform\": false,\n \"bUseNews\": false,\n \"bUrgentOrder\": false,\n \"iAccClient\": 0,\n \"sAccAdres\": \"\",\n \"sContactMail\": form.value.email,\n \"sContactTel\": form.value.telephone,\n \"sContactGsm\": form.value.mobile,\n \"sOrderCompTyp\": \"\",\n \"sOrderCorr\": \"\",\n \"sOrderKvkNr\": \"\",\n \"sOrderMemo\": form.value.notice,\n \"sOrderName\": form.value.name,\n \"sOrderSexe\": \"1\",\n \"sOrderUser\": \"\",\n \"sOrderValuta\": \"EUR\",\n \"sOrderVatNr\": \"\",\n \"sOrderWork\": \"\",\n \"sOrderYourRef\": form.value.reference,\n \"sOrderXML\": \"\",\n \"stAddrDelivery\":{\n \"iAddressNr\": 0,\n \"sAddressName\": \"\",\n \"sAddressType\": \"1\",\n \"sCity\": form.value.city,\n \"sCountry\": \"Nederland\",\n \"sCountryCode\": \"NL\",\n \"sHouseNumber\": form.value.housenumber,\n \"sLatitude\": \"\",\n \"sLongitude\": \"\",\n \"sSociete\": \"\",\n \"sStateCode\": \"\",\n \"sStateName\": \"\",\n \"sStreet1\": form.value.street+''+form.value.housenumber,\n \"sStreet2\": \"\",\n \"sZipCode\": form.value.zipcode\n },\n \"stAddrInvoice\": {\n \"iAddressNr\": 0,\n \"sAddressName\": \"\",\n \"sAddressType\": \"1\",\n \"sCity\": formfact.value.city,\n \"sCountry\": \"Nederland\",\n \"sCountryCode\": \"NL\",\n \"sHouseNumber\": formfact.value.housenumber,\n \"sLatitude\": \"\",\n \"sLongitude\": \"\",\n \"sSociete\": \"\",\n \"sStateCode\": \"\",\n \"sStateName\": \"\",\n \"sStreet1\": formfact.value.street+''+formfact.value.housenumber,\n \"sStreet2\": \"\",\n \"sZipCode\": formfact.value.zipcode\n },\n \"stAddrWork\": {\n \"iAddressNr\": 0,\n \"sAddressName\": \"\",\n \"sAddressType\": \"WRK\",\n \"sCity\": \"\",\n \"sCountry\": \"\",\n \"sCountryCode\": \"\",\n \"sHouseNumber\": \"\",\n \"sSociete\": \"\",\n \"sStreet1\": \"\",\n \"sStreet2\": \"\",\n \"sZipCode\": \"\",\n \"sLongitude\": \"\",\n \"sLatitude\": \"\"\n }\n },\n \"stOrderFiles\": {\n \"arrArtURL\": []\n },\n // stOrderLines,\n \"stOrderLines\": {\n \"curTotExcl\": \"\",\n \"curTotGross\": \"\",\n \"curTotIncl\": \"\",\n \"curTotVAT\": \"\",\n \"iNbOfLines\": \"\",\n \"iTotPoints\": \"\",\n arrOrderLine\n },\n \"stOrderPayment\": {\n \"sAccBic\": \"\",\n \"sAccCity\": \"\",\n \"sAccIban\": \"\",\n \"sAccName\": \"\",\n \"sAccNr\": \"\",\n \"sCardType\": \"\",\n \"sCardOwner\": \"\",\n \"sCardNr\": \"\",\n \"sCardSafety\": \"\",\n \"sCardMonth\": \"\",\n \"sCardYear\": \"\",\n \"sIdealStat\": \"\",\n \"sIdealParam\": \"\",\n \"sIdealError\": \"\",\n \"sIdealPayID\": \"\",\n \"sIdealPM\": \"\",\n \"sIdealLink\": \"\"\n },\n \"stOrderState\": {\n \"bEMaintenance\": false,\n \"bKopAccJN\": false,\n \"bKopOCI\": false,\n \"dDeliveryDate\": date,\n \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n \"iDeliveryType\": deliverytype,\n \"iOrderLang\": 3,\n \"iOrderNumber\": window.localStorage.getItem('OrderNumber'),\n \"iOrderState\": 7,\n \"iOrderType\": 100,\n \"iOrderPayment\": 1,\n \"sOrderIPAddr\": \"::1\",\n \"sOrderValuta\": \"EUR\"\n }\n }\n console.log(json)\n return this.commonhttp.put('https://red.msgrestservices.nl/Order/' + window.localStorage.getItem('OrderNumber'), json,{'headers':headers})\n }\n\n putOrderFact(orderlines, stAddrInvoice, form, email, date, deliverytype, stAddrDelivery): Observable {\n let arrOrderLine = orderlines\n const headers = {\n 'Content-Type': 'application/json',\n \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\n }\n let json = {\n \"stOrder\": {\n \"bComplete\": false,\n \"bInform\": false,\n \"bUseNews\": false,\n \"bUrgentOrder\": false,\n \"iAccClient\": 0,\n \"sAccAdres\": \"\",\n \"sContactMail\": form.value.email,\n \"sContactTel\": form.value.telephone,\n \"sContactGsm\": form.value.mobile,\n \"sOrderCompTyp\": \"\",\n \"sOrderCorr\": \"\",\n \"sOrderKvkNr\": \"\",\n \"sOrderMemo\": form.value.notice,\n \"sOrderName\": form.value.name,\n \"sOrderSexe\": \"1\",\n \"sOrderUser\": \"\",\n \"sOrderValuta\": \"EUR\",\n \"sOrderVatNr\": \"\",\n \"sOrderWork\": \"\",\n \"sOrderYourRef\": form.value.reference,\n \"sOrderXML\": \"\",\n stAddrDelivery,\n stAddrInvoice,\n // \"stAddrInvoice\": {\n // \"iAddressNr\": 0,\n // \"sAddressName\": \"\",\n // \"sAddressType\": \"1\",\n // \"sCity\": form.value.city,\n // \"sCountry\": \"Nederland\",\n // \"sCountryCode\": \"NL\",\n // \"sHouseNumber\": form.value.housenumber,\n // \"sLatitude\": \"\",\n // \"sLongitude\": \"\",\n // \"sSociete\": \"\",\n // \"sStateCode\": \"\",\n // \"sStateName\": \"\",\n // \"sStreet1\": form.value.street+''+form.value.housenumber,\n // \"sStreet2\": \"\",\n // \"sZipCode\": form.value.zipcode\n // },\n \"stAddrWork\": {\n \"iAddressNr\": 0,\n \"sAddressName\": \"\",\n \"sAddressType\": \"WRK\",\n \"sCity\": \"\",\n \"sCountry\": \"\",\n \"sCountryCode\": \"\",\n \"sHouseNumber\": \"\",\n \"sSociete\": \"\",\n \"sStreet1\": \"\",\n \"sStreet2\": \"\",\n \"sZipCode\": \"\",\n \"sLongitude\": \"\",\n \"sLatitude\": \"\"\n }\n },\n \"stOrderFiles\": {\n \"arrArtURL\": []\n },\n // stOrderLines,\n \"stOrderLines\": {\n \"curTotExcl\": \"\",\n \"curTotGross\": \"\",\n \"curTotIncl\": \"\",\n \"curTotVAT\": \"\",\n \"iNbOfLines\": \"\",\n \"iTotPoints\": \"\",\n arrOrderLine\n },\n \"stOrderPayment\": {\n \"sAccBic\": \"\",\n \"sAccCity\": \"\",\n \"sAccIban\": \"\",\n \"sAccName\": \"\",\n \"sAccNr\": \"\",\n \"sCardType\": \"\",\n \"sCardOwner\": \"\",\n \"sCardNr\": \"\",\n \"sCardSafety\": \"\",\n \"sCardMonth\": \"\",\n \"sCardYear\": \"\",\n \"sIdealStat\": \"\",\n \"sIdealParam\": \"\",\n \"sIdealError\": \"\",\n \"sIdealPayID\": \"\",\n \"sIdealPM\": \"\",\n \"sIdealLink\": \"\"\n },\n \"stOrderState\": {\n \"bEMaintenance\": false,\n \"bKopAccJN\": false,\n \"bKopOCI\": false,\n \"dDeliveryDate\": date,\n \"dtOrderStamp\": \"0000-00-00T00:00:00.000\",\n \"iDeliveryType\": deliverytype,\n \"iOrderLang\": 3,\n \"iOrderNumber\": window.localStorage.getItem('OrderNumber'),\n \"iOrderState\": 7,\n \"iOrderType\": 100,\n \"iOrderPayment\": 1,\n \"sOrderIPAddr\": \"::1\",\n \"sOrderValuta\": \"EUR\"\n }\n }\n console.log(json)\n return this.commonhttp.put('https://red.msgrestservices.nl/Order/' + window.localStorage.getItem('OrderNumber'), json,{'headers':headers})\n }\n\n\n // async postPBmOrderLineNative(item): Promise {\n // // let loading = this.loadingCtrl.create();\n // let headers = {\n // 'Content-Type': 'application/json',\n // \"UserToken\": `${window.localStorage.getItem(\"PBMtoken\")}`\n // };\n // let sale = this.nativeHttp.post('https://red.msgrestservices.nl/OrderLine/' + window.localStorage.getItem(\"PBMOrderNumber\"), item, headers)\n // .then(\n // res => {\n // let parsed = JSON.parse(res.data);\n // // this.storeUserCredentials(parsed.stAuthResp.sSessionID);\n // // this.storeUserID(parsed.stAuthResp.iUserId);\n // // this.storeClientID(parsed.stAuthResp.iClient);\n // // this.storeUserType(parsed.stAuthResp.iUserType);\n // // this.storePBM(parsed.stAuthResp.iPbmMode);\n // // this.storeallowPBM(parsed.stAuthResp.bAllowPbm);\n // // console.log(parsed.stAuthResp.iPbmMode);\n // console.log('carserviceordernumber', parsed.sResponse)\n // this.storeOrdernumber(parsed.sResponse);\n // console.log(parsed);\n // // this.userFullname(parsed.stAuthResp.sFullName);\n // },\n // error => error);\n\n // return sale\n\n // }\n\n\n // removeAllCartItems(product) {\n // return this.getCartItems().then(result => {\n // if (result) {\n // var productIndex = result.indexOf(product);\n // result.splice(productIndex, 1);\n // return this.storage.remove(CART_KEY);\n // }\n // })\n // }\n\n\n // containsObject(obj, list): boolean {\n // if (!list.length) {\n // return false;\n // }\n\n // if (obj == null) {\n // return false;\n // }\n // var i;\n // for (i = 0; i < list.length; i++) {\n // if (list[i].product_id == obj.product_id) {\n // return true;\n // }\n // }\n // return false;\n // }\n\n\n\n // getCartItems() {\n // return this.storage.get(CART_KEY);\n // }\n\n // PBMaddToCart(product) {\n // return this.getPBMCartItems().then(result => {\n // if (result) {\n // if (!this.containsObject(product, result)) {\n // result.push(product);\n // return this.storage.set(PBMCART_KEY, result);\n // } else {\n // let index = result.findIndex(x => x.product_id == product.product_id);\n // let prevQuantity = parseInt(result[index].count);\n // product.count = (prevQuantity + product.count);\n // let currentPrice = (parseInt(product.iNbPoints) * product.count);\n // product.iNbPoints =currentPrice;\n // result.splice(index, 1);\n // result.push(product);\n // return this.storage.set(PBMCART_KEY, result);\n // }\n\n // } else {\n // return this.storage.set(PBMCART_KEY, [product]);\n // }\n // })\n // }\n\n PBMaddToCart(data: any): void {\n let a: Item[];\n\n a = JSON.parse(localStorage.getItem('raadsma_pbm_cart'+`${window.localStorage.getItem('PBMOrderNumber')}`)) || [];\n\n a.push(data);\n // this.toastrService.wait('Adding Product to Cart', 'Product Adding to the cart');\n setTimeout(() => {\n localStorage.setItem('raadsma_pbm_cart'+`${window.localStorage.getItem('PBMOrderNumber')}`, JSON.stringify(a));\n this.calculateLocalPBMCartProdCounts();\n }, 500);\n }\n\n // returning LocalCarts Product Count\n calculateLocalPBMCartProdCounts() {\n this.navbarPBMCartCount = this.getLocalPBMCartProducts().length;\n }\n\n getLocalPBMCartProducts(): Item[] {\n const products: Item[] = JSON.parse(localStorage.getItem('raadsma_pbm_cart'+`${window.localStorage.getItem('PBMOrderNumber')}`)) || [];\n\n return products;\n }\n\n removeLocalPBMCartProduct(product: Item) {\n const products: Item[] = JSON.parse(localStorage.getItem('raadsma_pbm_cart'+`${window.localStorage.getItem('PBMOrderNumber')}`));\n\n for (let i = 0; i < products.length; i++) {\n if (products[i].sArticleCode === product.product_id) {\n products.splice(i, 1);\n break;\n }\n }\n // ReAdding the products after remove\n localStorage.setItem('raadsma_pbm_cart'+`${window.localStorage.getItem('PBMOrderNumber')}`, JSON.stringify(products));\n\n this.calculateLocalPBMCartProdCounts();\n }\n\n // PBMremoveFromCart(product) {\n // return this.getCartItems().then(result => {\n // if (result) {\n // var productIndex = result.indexOf(product);\n // result.splice(productIndex, 1);\n // return this.storage.set(PBMCART_KEY, result);\n // }\n // })\n // }\n\n // PBMremoveAllCartItems(product) {\n // return this.getCartItems().then(result => {\n // if (result) {\n // var productIndex = result.indexOf(product);\n // result.splice(productIndex, 1);\n // return this.storage.remove(PBMCART_KEY);\n // }\n // })\n // }\n\n\n // PBMcontainsObject(obj, list): boolean {\n // if (!list.length) {\n // return false;\n // }\n\n // if (obj == null) {\n // return false;\n // }\n // var i;\n // for (i = 0; i < list.length; i++) {\n // if (list[i].product_id == obj.product_sArticleCode) {\n // return true;\n // }\n // }\n // return false;\n // }\n\n\n // getPBMCartItems() {\n // return this.storage.get(PBMCART_KEY);\n // }\n}\n","import { Injectable } from '@angular/core';\r\nimport { OfflineManagerService } from './offline-manager.service';\r\nimport { Observable, of, throwError, from } from 'rxjs';\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\r\n// import { HTTP, HTTPResponse } from '@ionic-native/http/ngx';\r\n// import { Platform, ToastController, LoadingController } from '@ionic/angular';\r\nimport { NetworkService, ConnectionStatus } from './network.service';\r\nimport { forkJoin } from 'rxjs';\r\n// import { Storage } from '@ionic/storage';\r\n\r\nconst API_STORAGE_KEY = 'specialkey';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CategoryService {\r\n\r\n constructor(private http: HttpClient, private networkService: NetworkService, private offlineManager: OfflineManagerService) { }\r\n\r\n private handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('An error occurred:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error(\r\n `Backend returned code ${error.status}, ` +\r\n `body was: ${error.error}`);\r\n }\r\n // return an observable with a user-facing error message\r\n return throwError('Something bad happened; please try again later.');\r\n }\r\n\r\n getCategories(): Observable {\r\n // if (this.networkService.getCurrentNetworkStatus() == ConnectionStatus.Offline) {\r\n // // Return the cached data from Storage\r\n // console.log('network', this.networkService.getCurrentNetworkStatus() == ConnectionStatus.Online)\r\n // return from(this.getLocalData('categories'));\r\n // } else {\r\n // const headers = {\r\n // 'Content-Type': 'application/json',\r\n // 'Access-Control-Allow-Origin': '*',\r\n // 'UserToken': `${window.localStorage.getItem(\"Authtoken\")}`\r\n // }\r\n let headers = new HttpHeaders();\r\n headers.append('Access-Control-Allow-Origin' , '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept','application/json');\r\n headers.append('content-type','application/json');\r\n let categories = this.http.get('https://red.msgrestservices.nl/Category', { headers: headers });\r\n console.log('category', categories);\r\n console.log('this is browser');\r\n return categories;\r\n // }\r\n }\r\n\r\n\r\n getSubCategories(category): Observable {\r\n let headers = new HttpHeaders();\r\n headers.append('Access-Control-Allow-Origin' , '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept','application/json');\r\n headers.append('content-type','application/json');\r\n let subcategoies = this.http.get('https://red.msgrestservices.nl/Category?ParentId='+category+'&LimitLevel=4', {headers:headers});\r\n console.log('search', subcategoies);\r\n return subcategoies;\r\n }\r\n\r\n // private setLocalData(key, data) {\r\n // this.storage.set(`${API_STORAGE_KEY}-${key}`, data);\r\n // }\r\n \r\n // // Get cached API result\r\n // private getLocalData(key) {\r\n // return this.storage.get(`${API_STORAGE_KEY}-${key}`);\r\n // }\r\n}\r\n","import { Injectable } from '@angular/core';\n// import { Network } from '@ionic-native/network/ngx'\nimport { BehaviorSubject, Observable } from 'rxjs';\n// import { ToastController, Platform } from '@ionic/angular';\n \nexport enum ConnectionStatus {\n Online,\n Offline\n}\n \n@Injectable({\n providedIn: 'root'\n})\nexport class NetworkService {\n \n private status: BehaviorSubject = new BehaviorSubject(ConnectionStatus.Offline);\n \n constructor() {\n // this.plt.ready().then(() => {\n // this.initializeNetworkEvents();\n // let status = this.network.type !== 'none' ? ConnectionStatus.Online : ConnectionStatus.Offline;\n // this.status.next(status);\n // });\n }\n \n // public initializeNetworkEvents() {\n \n // this.network.onDisconnect().subscribe(() => {\n // if (this.status.getValue() === ConnectionStatus.Online) {\n // console.log('U werkt momenteel Offline');\n // this.updateNetworkStatus(ConnectionStatus.Offline);\n // }\n // });\n \n // this.network.onConnect().subscribe(() => {\n // if (this.status.getValue() === ConnectionStatus.Offline) {\n // console.log('U werkt momenteel Online');\n // this.updateNetworkStatus(ConnectionStatus.Online);\n // }\n // });\n // }\n \n // private async updateNetworkStatus(status: ConnectionStatus) {\n // this.status.next(status);\n \n // let connection = status == ConnectionStatus.Offline ? 'Offline' : 'Online';\n // let toast = this.toastController.create({\n // message: `You are now ${connection}`,\n // duration: 3000,\n // position: 'bottom'\n // });\n // toast.then(toast => toast.present());\n // }\n \n public onNetworkChange(): Observable {\n return this.status.asObservable();\n }\n \n public getCurrentNetworkStatus(): ConnectionStatus {\n return this.status.getValue();\n }\n}","import { Injectable } from '@angular/core';\n// import { Storage } from '@ionic/storage';\nimport { Observable, from, of, forkJoin } from 'rxjs';\nimport { switchMap, finalize } from 'rxjs/operators';\nimport { HttpClient } from '@angular/common/http';\n// import { ToastController } from '@ionic/angular';\n \nconst STORAGE_REQ_KEY = 'storedreq';\n \ninterface StoredRequest {\n url: string,\n type: string,\n data: any,\n time: number,\n id: string\n}\n \n@Injectable({\n providedIn: 'root'\n})\nexport class OfflineManagerService {\n \n constructor(private http: HttpClient) { }\n \n // checkForEvents(): Observable {\n // return from(this.storage.get(STORAGE_REQ_KEY)).pipe(\n // switchMap(storedOperations => {\n // let storedObj = JSON.parse(storedOperations);\n // if (storedObj && storedObj.length > 0) {\n // return this.sendRequests(storedObj).pipe(\n // finalize(() => {\n // let toast = this.toastController.create({\n // message: `Data is succesvol gesynced`,\n // duration: 3000,\n // position: 'bottom'\n // });\n // toast.then(toast => toast.present());\n \n // this.storage.remove(STORAGE_REQ_KEY);\n // })\n // );\n // } else {\n // console.log('no local events to sync');\n \n // return of(false);\n // }\n // })\n // )\n // }\n \n // storeRequest(url, type, data) {\n // let toast = this.toastController.create({\n // message: `Op dit moment bent u offline en maakt u gebruik van lokale data.`,\n // duration: 3000,\n // position: 'bottom'\n // });\n // toast.then(toast => toast.present());\n \n // let action: StoredRequest = {\n // url: url,\n // type: type,\n // data: data,\n // time: new Date().getTime(),\n // id: Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 5)\n // };\n \n // return this.storage.get(STORAGE_REQ_KEY).then(storedOperations => {\n // let storedObj = JSON.parse(storedOperations);\n \n // if (storedObj) {\n // storedObj.push(action);\n // } else {\n // storedObj = [action];\n // }\n // // Save old & new local transactions back to Storage\n // return this.storage.set(STORAGE_REQ_KEY, JSON.stringify(storedObj));\n // });\n // }\n \n sendRequests(operations: StoredRequest[]) {\n let obs = [];\n \n for (let op of operations) {\n console.log('Make one request: ', op);\n let oneObs = this.http.request(op.type, op.url, op.data);\n obs.push(oneObs);\n }\n \n // Send out all local events and return once they are finished\n return forkJoin(obs);\n }\n}","import { Injectable } from '@angular/core';\r\nimport { Observable, of, throwError } from 'rxjs';\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\r\nimport { forkJoin } from 'rxjs';\r\n// import { HTTP, HTTPResponse } from '@ionic-native/http/ngx';\r\nimport { map } from 'rxjs/operators';\r\nimport { AuthService } from '.././services/auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductService {\r\n\r\n constructor(private http: HttpClient, private auth: AuthService) { }\r\n\r\n private handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('An error occurred:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error(\r\n `Backend returned code ${error.status}, ` +\r\n `body was: ${error.error}`);\r\n }\r\n // return an observable with a user-facing error message\r\n return throwError('Something bad happened; please try again later.');\r\n }\r\n\r\n getPromoSlider(): Observable {\r\n let headers = new HttpHeaders();\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n let promo = this.http.get('https://red.msgrestservices.nl/Promotion', { headers: headers });\r\n console.log('search', promo);\r\n return promo;\r\n }\r\n\r\n // getPromoNative(): Promise {\r\n // let headers = {\r\n // 'Content-Type': 'application/json'\r\n // };\r\n // let promo = this.nativeHttp.get('https://red.msgrestservices.nl/Promotion', {}, headers);\r\n // console.log('promo', promo);\r\n // console.log('this is native');\r\n // return promo;\r\n // }\r\n\r\n getSale(): Observable {\r\n let headers = new HttpHeaders();\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n let sale = this.http.get('https://red.msgrestservices.nl/Promotion', { headers: headers });\r\n console.log('search', sale);\r\n return sale;\r\n }\r\n\r\n // getSaleNative(): Promise {\r\n // let headers = {\r\n // 'Content-Type': 'application/json'\r\n // };\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/Promotion', {}, headers);\r\n // console.log('sale', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n getProductsByCategory(category): Observable {\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Access-Control-Allow-Headers': '*',\r\n 'Access-Control-Allow-Methods': 'GET',\r\n 'Access-Control-Request-Headers': '*',\r\n \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n }\r\n // headers.append('UserToken', window.localStorage.getItem(\"Authtoken\"));\r\n let items = this.http.get('https://red.msgrestservices.nl/Article?Category=' + category, {'headers':headers});\r\n console.log('products', items);\r\n return items;\r\n }\r\n\r\n // getProductsByNative(category): Promise {\r\n // let headers = {\r\n // 'Content-Type': 'application/json',\r\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // console.log(headers);\r\n // let items = this.nativeHttp.get('https://red.msgrestservices.nl/Article?Category='+category, {}, headers);\r\n // console.log('products category', items);\r\n // console.log('this is native');\r\n // return items;\r\n // }\r\n\r\n getProductsByCategoryFilter(category, filter): Observable {\r\n let headers = new HttpHeaders();\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n headers.append('UserToken', window.localStorage.getItem(\"Authtoken\"));\r\n let items = this.http.get('https://red.msgrestservices.nl/Article?Category=' + category + filter, { headers: headers });\r\n console.log(filter)\r\n console.log('products', items);\r\n return items;\r\n }\r\n\r\n // getProductsByNativeFilter(category, filter): Promise {\r\n // let headers = {\r\n // 'Content-Type': 'application/json',\r\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // console.log(headers);\r\n // let items = this.nativeHttp.get('https://red.msgrestservices.nl/Article?Category='+category+filter, {}, headers);\r\n // console.log('products category', items);\r\n // console.log('this is native');\r\n // return items;\r\n // }\r\n\r\n // getProductsByNativeFilter(category, filter): Promise {\r\n // let headers = {\r\n // 'Content-Type': 'application/json',\r\n // 'UserToken': `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // console.log(headers);\r\n // console.log('https://red.msgrestservices.nl/Article?Category='+category+filter)\r\n // let items = this.nativeHttp.get('https://red.msgrestservices.nl/Article?Category='+category+filter, {}, headers);\r\n // console.log('products category', items);\r\n // console.log('this is native');\r\n // return items;\r\n // }\r\n\r\n getProductsByCategorySearch(item): Observable {\r\n // let headers = new HttpHeaders();\r\n // headers.append('Access-Control-Allow-Origin', '*');\r\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n // headers.append('Accept', 'application/json');\r\n // headers.append('content-type', 'application/json');\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Access-Control-Allow-Headers': '*',\r\n 'Access-Control-Allow-Methods': 'GET',\r\n 'Access-Control-Request-Headers': '*',\r\n \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n }\r\n // headers.append('UserToken', window.localStorage.getItem(\"Authtoken\"));\r\n let items = this.http.get('https://red.msgrestservices.nl/Article?SearchValue=' + item, {'headers':headers});\r\n console.log('products', items);\r\n return items;\r\n }\r\n\r\n // getProductsByNativeSearch(item): Promise {\r\n // let headers = {\r\n // 'Content-Type': 'application/json'\r\n // };\r\n // let items = this.nativeHttp.get('https://red.msgrestservices.nl/Article?SearchValue='+item, {}, headers);\r\n // console.log('products category', items);\r\n // console.log('this is native');\r\n // return items;\r\n // }\r\n\r\n getProductsByDetail(detail): Observable {\r\n const headers = {\r\n 'Content-Type': 'application/json',\r\n 'Access-Control-Allow-Headers': '*',\r\n 'Access-Control-Allow-Methods': 'GET',\r\n 'Access-Control-Request-Headers': '*',\r\n \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n }\r\n // headers.append('UserToken', window.localStorage.getItem(\"Authtoken\"));\r\n let items = this.http.get('https://red.msgrestservices.nl/Article/' + detail, {'headers':headers});\r\n console.log('products', items);\r\n return items;\r\n }\r\n\r\n getGTNProductsByDetail(detail): Observable {\r\n let headers = new HttpHeaders();\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n // headers.append('UserToken', window.localStorage.getItem(\"Authtoken\"));\r\n let items = this.http.get('https://red.msgrestservices.nl/Article/'+detail+'?Barcode='+detail, { headers: headers });\r\n console.log('products', items);\r\n return items;\r\n }\r\n\r\n // getProductsByDetailNative(detail, key): Promise {\r\n // let headers = {\r\n // 'Content-Type': 'application/json',\r\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // let items = this.nativeHttp.get('https://red.msgrestservices.nl/Article/' + detail + '?BlKey=' + key, {}, headers);\r\n // console.log('detail', items);\r\n // console.log('itemcheck', detail, key)\r\n // console.log('this is native');\r\n // return items;\r\n // }\r\n\r\n // getGTNProductsByDetailNative(detail): Promise {\r\n // let headers = {\r\n // 'Content-Type': 'application/json',\r\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // let items = this.nativeHttp.get('https://red.msgrestservices.nl/Article/'+detail+'?Barcode='+detail, {}, headers);\r\n // console.log('detail', items);\r\n // console.log('itemcheck', detail)\r\n // console.log('this is native');\r\n // return items;\r\n // }\r\n\r\n\r\n searchData(suggestion: any): Observable {\r\n let headers = new HttpHeaders();\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n let suggestions = this.http.get(`https://red.msgrestservices.nl/Searchword/Suggestion/` + suggestion, { headers: headers });\r\n console.log('suggestion', suggestions);\r\n return suggestions;\r\n }\r\n\r\n // searchDataNative(suggestion: any): Promise {\r\n // let headers = {\r\n // 'Content-Type': 'application/json'\r\n // };\r\n // let suggestions = this.nativeHttp.get('https://red.msgrestservices.nl/Searchword/Suggestion/' + suggestion, {}, headers);\r\n // console.log('search', suggestions);\r\n // console.log('this is native');\r\n // return suggestions;\r\n // }\r\n\r\n getSearchPBMOrderlistItem(search: any): Observable {\r\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"PBMtoken\"));\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log(headers.append('usertoken', window.localStorage.getItem(\"Authtoken\")))\r\n let sale = this.http.get('https://red.msgrestservices.nl/Orderlist/0?searchvalue=' + search, { headers: headers });\r\n console.log('orderlist', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // getSearchPBMOrderlistItemnative(search: any, category): Promise {\r\n // let headers = {\r\n // 'Content-Type': 'application/json',\r\n // 'UserToken': `${window.localStorage.getItem(\"PBMtoken\")}`\r\n // };\r\n // console.log(headers)\r\n // console.log('searchlist', category)\r\n // console.log('searchlist', search)\r\n // console.log('https://red.msgrestservices.nl/Orderlist/'+category+'?searchvalue='+search+'')\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/Orderlist/'+category+'?searchvalue='+search, {}, headers);\r\n // console.log('orderlist', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n getOrderlist(): Observable {\r\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"Authtoken\"));\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log(headers.append('usertoken', window.localStorage.getItem(\"Authtoken\")))\r\n let sale = this.http.get('https://red.msgrestservices.nl/Orderlist', { headers: headers });\r\n console.log('orderlist', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // getOrderlistnative(): Promise {\r\n // let headers = {\r\n // \"Content-Type\": \"application/json\",\r\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // console.log('check bestellijst token', headers)\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/Orderlist', {}, headers);\r\n // console.log('orderlist', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n getPBMlist(): Observable {\r\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"PBMtoken\"));\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log(window.localStorage.getItem(\"PBMtoken\"))\r\n console.log(window.localStorage.getItem(\"Authtoken\"))\r\n let sale = this.http.get('https://red.msgrestservices.nl/Orderlist', { headers: headers });\r\n console.log('orderlist', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // getPBMlistnative(): Promise {\r\n // let headers = {\r\n // \"Content-Type\": \"application/json\",\r\n // \"UserToken\": `${window.localStorage.getItem(\"PBMtoken\")}`\r\n // };\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/Orderlist', {}, headers);\r\n // console.log('orderlist', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n getPBMPoints(id: any): Observable {\r\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"Authtoken\"));\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log('getPBMpoints', id)\r\n console.log(headers.append('usertoken', window.localStorage.getItem(\"PBMtoken\")))\r\n let sale = this.http.get('https://red.msgrestservices.nl/PBM/Points/' + id, { headers: headers });\r\n console.log('orderlist', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // getPBMPointsnative(id: any): Promise {\r\n // let headers = {\r\n // \"Content-Type\": \"application/json\",\r\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/PBM/Points/' + id, {}, headers);\r\n // console.log('orderlist', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n getOrderlistItem(item: any): Observable {\r\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"Authtoken\"));\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log(headers.append('usertoken', window.localStorage.getItem(\"Authtoken\")))\r\n let sale = this.http.get('https://red.msgrestservices.nl/Orderlist/' + item, { headers: headers });\r\n console.log('orderlist', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // getOrderlistItemnative(item: any): Promise {\r\n // let headers = {\r\n // \"Content-Type\": \"application/json\",\r\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/Orderlist/' + item, {}, headers);\r\n // console.log('orderlist', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n getPBMOrderlistItem(item: any): Observable {\r\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"PBMtoken\"));\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log(headers.append('usertoken', window.localStorage.getItem(\"PBMtoken\")))\r\n let sale = this.http.get('https://red.msgrestservices.nl/Orderlist/' + item, { headers: headers });\r\n console.log('orderlist', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // getPBMOrderlistItemnative(item: any): Promise {\r\n // let headers = {\r\n // \"Content-Type\": \"application/json\",\r\n // \"UserToken\": `${window.localStorage.getItem(\"PBMtoken\")}`\r\n // };\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/Orderlist/' + item, {}, headers);\r\n // console.log('orderlist', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n getClient(): Observable {\r\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"Authtoken\"));;\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log('UserToken', window.localStorage.getItem(\"Authtoken\"))\r\n let sale = this.http.get('https://red.msgrestservices.nl/Client', { headers: headers });\r\n console.log('client', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // getClientnative(): Promise {\r\n // let headers = {\r\n // \"Content-Type\": \"application/json\",\r\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/Client', {}, headers);\r\n // console.log('client', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n getSalesClient(): Observable {\r\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"Authtoken\"));;\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log('UserToken', window.localStorage.getItem(\"SalesAuthtoken\"))\r\n let sale = this.http.get('/Client', { headers: headers });\r\n console.log('client', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // getSalesClientnative(): Promise {\r\n // let headers = {\r\n // \"Content-Type\": \"application/json\",\r\n // \"UserToken\": `${window.localStorage.getItem(\"SalesAuthtoken\")}`\r\n // };\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/Client', {}, headers);\r\n // console.log('client', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n\r\n postOrder(): Observable {\r\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"Authtoken\"));;\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log('UserToken', window.localStorage.getItem(\"Authtoken\"))\r\n let sale = this.http.post('https://red.msgrestservices.nl/Order', { headers: headers });\r\n console.log('order', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // postOrdernative(): Promise {\r\n // let headers = {\r\n // 'Content-Type': 'application/json',\r\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // let sale = this.nativeHttp.post('https://red.msgrestservices.nl/Order', {}, headers);\r\n // console.log('order', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n postOrderLines(item: any): Observable {\r\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"Authtoken\"));;\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n headers.append('UserToken', window.localStorage.getItem(\"Authtoken\"))\r\n console.log('UserToken', window.localStorage.getItem(\"Authtoken\"))\r\n console.log('jsoncart', item)\r\n console.log('ordernumber', window.localStorage.getItem(\"OrderNumber\"))\r\n let sale = this.http.post('https://red.msgrestservices.nl/OrderLine/' + window.localStorage.getItem(\"OrderNumber\"), item, { headers: headers });\r\n console.log('order', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // postOrderLinesnative(item: any): Promise {\r\n // let headers = {\r\n // 'Content-Type': 'application/json',\r\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // let sale = this.nativeHttp.post('https://red.msgrestservices.nl/OrderLine/' + window.localStorage.getItem(\"OrderNumber\"), item, headers);\r\n // console.log('order', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n getUser(): Observable {\r\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"Authtoken\"));\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log(headers.append('usertoken', window.localStorage.getItem(\"Authtoken\")))\r\n let sale = this.http.get('https://red.msgrestservices.nl/User/' + window.localStorage.getItem(\"iUserId\"), { headers: headers });\r\n console.log('orderlist', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // getUsernative(): Promise {\r\n // let headers = {\r\n // 'Content-Type': 'application/json',\r\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/User/' + window.localStorage.getItem(\"iUserId\"), {}, headers);\r\n // console.log('orderlist', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n getActionlist(): Observable {\r\n let headers = new HttpHeaders();\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log(headers.append('usertoken', window.localStorage.getItem(\"Authtoken\")))\r\n let sale = this.http.get('https://red.msgrestservices.nl/Action', {headers:headers});\r\n console.log('orderlist', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // getActionListnative(): Promise {\r\n // let headers = {\r\n // \"Content-Type\": \"application/json\"\r\n // };\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/Action',{},headers);\r\n // console.log('orderlist', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n getActionlistItem(item: any): Observable {\r\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"Authtoken\"));\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log(headers.append('usertoken', window.localStorage.getItem(\"Authtoken\")))\r\n console.log('listname', encodeURIComponent('PUR STAFFEL'))\r\n let sale = this.http.get('https://red.msgrestservices.nl/Action/${' + encodeURI(item) + '}', { headers: headers });\r\n console.log('orderlist', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // getActionItemnative(item: any): Promise {\r\n // let headers = {\r\n // \"Content-Type\": \"application/json\",\r\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // console.log('https://red.msgrestservices.nl/Action/'+`${encodeURI(item)}`)\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/Action/'+`${encodeURI(item)}`, {}, headers);\r\n // console.log('nativeencode', item)\r\n // console.log('nativeencode2', encodeURI(item))\r\n // console.log('orderlist', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n getClientAddresses(item: any): Observable {\r\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"Authtoken\"));\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log(headers.append('usertoken', window.localStorage.getItem(\"Authtoken\")))\r\n console.log('listname', encodeURIComponent(item))\r\n let sale = this.http.get('https://red.msgrestservices.nl/Client/' + item + '/Addresses', { headers: headers });\r\n console.log('orderlist', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // getClientAddressesnative(item: any): Promise {\r\n // let headers = {\r\n // \"Content-Type\": \"application/json\",\r\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/Client/' + item + '/Addresses', {}, headers);\r\n // console.log('orderlist', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n getClientInfo(): Observable {\r\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"Authtoken\"));\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log(headers.append('usertoken', window.localStorage.getItem(\"Authtoken\")))\r\n // console.log('listname', encodeURIComponent(item))\r\n let sale = this.http.get('https://red.msgrestservices.nl/Client/' + window.localStorage.getItem(\"iClient\"), { headers: headers });\r\n console.log('orderlist', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // getClientInfonative(): Promise {\r\n // let headers = {\r\n // \"Content-Type\": \"application/json\",\r\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/Client/' + window.localStorage.getItem(\"iClient\"), {}, headers);\r\n // console.log('orderlist', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n getStores(): Observable {\r\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"Authtoken\"));\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log(headers.append('usertoken', window.localStorage.getItem(\"Authtoken\")))\r\n let sale = this.http.get('https://red.msgrestservices.nl/Store', { headers: headers });\r\n console.log('orderlist', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // getStoresnative(): Promise {\r\n // let headers = {\r\n // \"Content-Type\": \"application/json\",\r\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/Store', {}, headers);\r\n // console.log('orderlist', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n getDeliveryCost(): Observable {\r\n let headers = new HttpHeaders().set('UserToken', window.localStorage.getItem(\"Authtoken\"));\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log(headers.append('usertoken', window.localStorage.getItem(\"Authtoken\")))\r\n let sale = this.http.get('https://red.msgrestservices.nl/Delivery/Cost', { headers: headers });\r\n console.log('orderlist', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // getDeliveryCostnative(): Promise {\r\n // let headers = {\r\n // \"Content-Type\": \"application/json\",\r\n // \"UserToken\": `${window.localStorage.getItem(\"Authtoken\")}`\r\n // };\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/Delivery/Cost', {}, headers);\r\n // console.log('orderlist', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n getBreadCrumb(item: any): Observable {\r\n let headers = new HttpHeaders();\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n headers.append('Accept', 'application/json');\r\n headers.append('content-type', 'application/json');\r\n console.log(headers.append('usertoken', window.localStorage.getItem(\"Authtoken\")))\r\n let sale = this.http.get('https://red.msgrestservices.nl/BreadCrumb?ArticleID=' + item, { headers: headers });\r\n console.log('breadcrumb', sale);\r\n return sale;\r\n }\r\n\r\n\r\n // getBreadCrumbNatie(item: any): Promise {\r\n // let headers = {\r\n // \"Content-Type\": \"application/json\"\r\n // };\r\n // let sale = this.nativeHttp.get('https://red.msgrestservices.nl/BreadCrumb?Category=' + item, {}, headers);\r\n // console.log('breadcrumb', sale);\r\n // console.log('this is native');\r\n // return sale;\r\n // }\r\n\r\n\r\n // getProductsByCategory(category) {\r\n // let loading = this.loadingCtrl.create();\r\n // if (this.networkService.getCurrentNetworkStatus() == ConnectionStatus.Offline) {\r\n // // Return the cached data from Storage\r\n // return from(this.getLocalData('users'));\r\n // } else {\r\n // let headers = new HttpHeaders();\r\n // headers.append('Access-Control-Allow-Origin' , '*');\r\n // headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');\r\n // headers.append('Accept','application/json');\r\n // headers.append('content-type','application/json');\r\n // headers.append('UserToken', window.localStorage.getItem(\"Authtoken\"));\r\n // console.log(window.localStorage.getItem(\"Authtoken\"));\r\n // let url = '/Article?Category='+category; \r\n // let req = this.http.get(url, {headers:headers}).pipe(\r\n // finalize(() => console.log('ok'))\r\n // )\r\n // .subscribe(data => {\r\n // this.products = data['stArticles']['arrArticleInList'];\r\n // console.log(data['stArticles']['arrArticleInList']);\r\n // console.log(this.products);\r\n // let ttl = 10;\r\n // this.products = this.cache.loadFromObservable(url, req, this.productsKey, ttl);\r\n // this.products = this.cache.loadFromObservable(url, req, this.productsKey);\r\n // // console.log('ok');\r\n // this.setLocalData('category', data);\r\n // return this.products\r\n // }, err => {\r\n // console.log('JS Call error: ', err);\r\n // });\r\n // }\r\n // }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}