{"version":3,"sources":["webpack:///src/app/app.component.html","webpack:///src/app/components/demo/demo.component.html","webpack:///src/app/components/main/main.component.html","webpack:///src/app/components/pages/cart/cart.component.html","webpack:///src/app/components/pages/checkout/checkout.component.html","webpack:///src/app/components/pages/thanks/thanks.component.html","webpack:///src/app/components/shared/banner-promotion/banner-promotion.component.html","webpack:///src/app/components/shared/banners-four/banners-four.component.html","webpack:///src/app/components/shared/banners/banners.component.html","webpack:///src/app/components/shared/blog-section/blog-section.component.html","webpack:///src/app/components/shared/categories-menu/categories-menu.component.html","webpack:///src/app/components/shared/categories-section/categories-section.component.html","webpack:///src/app/components/shared/footer-two/footer-two.component.html","webpack:///src/app/components/shared/footer/footer.component.html","webpack:///src/app/components/shared/header-four/header-four.component.html","webpack:///src/app/components/shared/header-three/header-three.component.html","webpack:///src/app/components/shared/header-two/header-two.component.html","webpack:///src/app/components/shared/header/header.component.html","webpack:///src/app/components/shared/menu/menu.component.html","webpack:///src/app/components/shared/shopping-widgets/shopping-widgets.component.html","webpack:///src/app/components/shared/sidebar/sidebar.component.html","webpack:///src/app/components/shop/home-five/home-five.component.html","webpack:///src/app/components/shop/home-four/home-four.component.html","webpack:///src/app/components/shop/home-three/home-three.component.html","webpack:///src/app/components/shop/home-three/product-carousel-three/product-carousel-three.component.html","webpack:///src/app/components/shop/home-two/home-two.component.html","webpack:///src/app/components/shop/home-two/product-carousel-two/product-carousel-two.component.html","webpack:///src/app/components/shop/home/home.component.html","webpack:///src/app/components/shop/home/product-carousel/product-carousel.component.html","webpack:///src/app/components/shop/main-carousel/main-carousel.component.html","webpack:///src/app/components/shop/products/price/price.component.html","webpack:///src/app/components/shop/products/product-category/product-category.component.html","webpack:///src/app/components/shop/products/product-details/product-details.component.html","webpack:///src/app/components/shop/products/product-details/product-zoom/product-zoom.component.html","webpack:///src/app/components/shop/products/product-dialog/product-dialog.component.html","webpack:///src/app/components/shop/products/product-left-sidebar/product-left-sidebar.component.html","webpack:///src/app/components/shop/products/product-search/product-search.component.html","webpack:///src/app/components/shop/products/product-subcategory/product-subcategory.component.html","webpack:///src/app/components/shop/products/product-variant/product-variant.component.html","webpack:///src/app/components/shop/products/product-vertical/product-vertical.component.html","webpack:///src/app/components/shop/products/product/product.component.html","webpack:///src/app/components/shop/products/products.component.html","webpack:///src/app/components/shop/widgets/brands/brands.component.html","webpack:///src/app/components/shop/widgets/categories/categories.component.html","webpack:///src/app/components/shop/widgets/popular-products/popular-products.component.html","webpack:///node_modules/tslib/tslib.es6.js","webpack:///src/$_lazy_route_resource lazy namespace object","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.scss","webpack:///src/app/app.component.ts","webpack:///src/app/app.module.ts","webpack:///src/app/components/demo/demo.component.scss","webpack:///src/app/components/demo/demo.component.ts","webpack:///src/app/components/main/main.component.sass","webpack:///src/app/components/main/main.component.ts","webpack:///src/app/components/pages/cart/cart.component.scss","webpack:///src/app/components/pages/cart/cart.component.ts","webpack:///src/app/components/pages/checkout/checkout.component.sass","webpack:///src/app/components/pages/checkout/checkout.component.ts","webpack:///src/app/components/pages/thanks/thanks.component.sass","webpack:///src/app/components/pages/thanks/thanks.component.ts","webpack:///src/app/components/shared/banner-promotion/banner-promotion.component.sass","webpack:///src/app/components/shared/banner-promotion/banner-promotion.component.ts","webpack:///src/app/components/shared/banners-four/banners-four.component.sass","webpack:///src/app/components/shared/banners-four/banners-four.component.ts","webpack:///src/app/components/shared/banners/banners.component.sass","webpack:///src/app/components/shared/banners/banners.component.ts","webpack:///src/app/components/shared/blog-section/blog-section.component.sass","webpack:///src/app/components/shared/blog-section/blog-section.component.ts","webpack:///src/app/components/shared/categories-menu/categories-menu.component.sass","webpack:///src/app/components/shared/categories-menu/categories-menu.component.ts","webpack:///src/app/components/shared/categories-section/categories-section.component.sass","webpack:///src/app/components/shared/categories-section/categories-section.component.ts","webpack:///src/app/components/shared/footer-two/footer-two.component.sass","webpack:///src/app/components/shared/footer-two/footer-two.component.ts","webpack:///src/app/components/shared/footer/footer.component.sass","webpack:///src/app/components/shared/footer/footer.component.ts","webpack:///src/app/components/shared/header-four/header-four.component.sass","webpack:///src/app/components/shared/header-four/header-four.component.ts","webpack:///src/app/components/shared/header-three/header-three.component.sass","webpack:///src/app/components/shared/header-three/header-three.component.ts","webpack:///src/app/components/shared/header-two/header-two.component.sass","webpack:///src/app/components/shared/header-two/header-two.component.ts","webpack:///src/app/components/shared/header/header.component.sass","webpack:///src/app/components/shared/header/header.component.ts","webpack:///src/app/components/shared/menu/menu.component.sass","webpack:///src/app/components/shared/menu/menu.component.ts","webpack:///src/app/components/shared/pipes/order-by.pipe.ts","webpack:///src/app/components/shared/services/cart.service.ts","webpack:///src/app/components/shared/services/product.service.ts","webpack:///src/app/components/shared/services/wishlist.service.ts","webpack:///src/app/components/shared/shared.module.ts","webpack:///src/app/components/shared/shopping-widgets/shopping-widgets.component.sass","webpack:///src/app/components/shared/shopping-widgets/shopping-widgets.component.ts","webpack:///src/app/components/shared/sidebar/sidebar-menu.service.ts","webpack:///src/app/components/shared/sidebar/sidebar.component.scss","webpack:///src/app/components/shared/sidebar/sidebar.component.ts","webpack:///src/app/components/shop/home-five/home-five.component.sass","webpack:///src/app/components/shop/home-five/home-five.component.ts","webpack:///src/app/components/shop/home-four/home-four.component.sass","webpack:///src/app/components/shop/home-four/home-four.component.ts","webpack:///src/app/components/shop/home-three/home-three.component.sass","webpack:///src/app/components/shop/home-three/home-three.component.ts","webpack:///src/app/components/shop/home-three/product-carousel-three/product-carousel-three.component.sass","webpack:///src/app/components/shop/home-three/product-carousel-three/product-carousel-three.component.ts","webpack:///src/app/components/shop/home-two/home-two.component.sass","webpack:///src/app/components/shop/home-two/home-two.component.ts","webpack:///src/app/components/shop/home-two/product-carousel-two/product-carousel-two.component.sass","webpack:///src/app/components/shop/home-two/product-carousel-two/product-carousel-two.component.ts","webpack:///src/app/components/shop/home/home.component.sass","webpack:///src/app/components/shop/home/home.component.ts","webpack:///src/app/components/shop/home/product-carousel/product-carousel.component.sass","webpack:///src/app/components/shop/home/product-carousel/product-carousel.component.ts","webpack:///src/app/components/shop/main-carousel/main-carousel.component.sass","webpack:///src/app/components/shop/main-carousel/main-carousel.component.ts","webpack:///src/app/components/shop/products/price/price.component.sass","webpack:///src/app/components/shop/products/price/price.component.ts","webpack:///src/app/components/shop/products/product-category/product-category.component.sass","webpack:///src/app/components/shop/products/product-category/product-category.component.ts","webpack:///src/app/components/shop/products/product-details/product-details.component.scss","webpack:///src/app/components/shop/products/product-details/product-details.component.ts","webpack:///src/app/components/shop/products/product-details/product-zoom/product-zoom.component.sass","webpack:///src/app/components/shop/products/product-details/product-zoom/product-zoom.component.ts","webpack:///src/app/components/shop/products/product-dialog/product-dialog.component.sass","webpack:///src/app/components/shop/products/product-dialog/product-dialog.component.ts","webpack:///src/app/components/shop/products/product-left-sidebar/product-left-sidebar.component.scss","webpack:///src/app/components/shop/products/product-left-sidebar/product-left-sidebar.component.ts","webpack:///src/app/components/shop/products/product-search/product-search.component.sass","webpack:///src/app/components/shop/products/product-search/product-search.component.ts","webpack:///src/app/components/shop/products/product-subcategory/product-subcategory.component.sass","webpack:///src/app/components/shop/products/product-subcategory/product-subcategory.component.ts","webpack:///src/app/components/shop/products/product-variant/product-variant.component.sass","webpack:///src/app/components/shop/products/product-variant/product-variant.component.ts","webpack:///src/app/components/shop/products/product-vertical/product-vertical.component.sass","webpack:///src/app/components/shop/products/product-vertical/product-vertical.component.ts","webpack:///src/app/components/shop/products/product/product.component.sass","webpack:///src/app/components/shop/products/product/product.component.ts","webpack:///src/app/components/shop/products/products.component.sass","webpack:///src/app/components/shop/products/products.component.ts","webpack:///src/app/components/shop/shop-routing.module.ts","webpack:///src/app/components/shop/shop.module.ts","webpack:///src/app/components/shop/widgets/brands/brands.component.sass","webpack:///src/app/components/shop/widgets/brands/brands.component.ts","webpack:///src/app/components/shop/widgets/categories/categories.component.sass","webpack:///src/app/components/shop/widgets/categories/categories.component.ts","webpack:///src/app/components/shop/widgets/popular-products/popular-products.component.sass","webpack:///src/app/components/shop/widgets/popular-products/popular-products.component.ts","webpack:///src/app/modals/product.model.ts","webpack:///src/app/services/auth.service.ts","webpack:///src/app/services/cart.service.ts","webpack:///src/app/services/category.service.ts","webpack:///src/app/services/network.service.ts","webpack:///src/app/services/offline-manager.service.ts","webpack:///src/app/services/product.service.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","_","label","sent","trys","ops","f","y","g","verb","Symbol","iterator","v","op","TypeError","pop","push","__exportStar","m","exports","__values","o","__read","ar","error","__spread","concat","__spreadArrays","il","k","a","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","settle","fulfill","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","mod","__esModule","default","__importDefault","webpackEmptyAsyncContext","req","Error","code","keys","module","id","appRoutes","path","redirectTo","pathMatch","component","children","loadChildren","ShopModule","PagesModule","BlogModule","AppRoutingModule","declarations","imports","forRoot","AppComponent","router","spinner","authService","formBuilder","title","searchTerm","form","group","email","compose","required","password","minLength","window","localStorage","setItem","checked","getItem","console","log","scroll","fullname","navbar","SwitchloginNative","event","query","url","split","navigate","me","loginParams","show","login","res","hide","setTimeout","CheckLoginUser","bAllowShop","iPbmMode","loginOff","subscribe","destroyUserCredentials","Guestlogin","selector","template","AppModule","providers","provide","useClass","schemas","bootstrap","DemoComponent","MainComponent","cartService","sidenavMenuService","currencies","flags","name","image","shoppingCartItems","banners","wishlistItems","navItems","displayName","iconName","route","getItems","events","currency","flag","CartComponent","cartItems","orderline","maxamount","localCartStorageItem","checkOrderNumber","getOrderlines","getOrderLine","data","status","orderprice","data1","arrOrderLine","err","checkGuestLogin","itm","index","cartProductRest","sArticleCode","deleteOrderLine","item","nAmount","NaN","amount","stPrice","curNetPriceInc","changeamount","ChangeCart","iLineID","type","detail","parseInt","isNaN","nAmountStep","newvalue","Math","floor","nAmountMin","quantity","CheckoutComponent","productService","buyProducts","payments","paymantWay","deliverydate","deliverytype","user","telephone","pattern","notice","street","housenumber","zipcode","city","company","kvk","btw","streetinvoice","housenumberinvoice","zipcodeinvoice","cityinvoice","getOrder","products","formfact","order","address","addressinvoice","sOrderCorr","sContactTel","sContactMail","sStreet","stAddrDelivery","sStreet1","sHousenumber","sHouseNumber","sZipcode","sZipCode","sCity","sInvoiceStreet","stAddrInvoice","sInvoiceHousenumber","sInvoiceZipcode","sInvoiceCity","sCompany","sOrderName","sBTW","sOrderVatNr","sKVK","sOrderKvkNr","get","setValue","onlyself","factaddress","fact","putOrderFactNewFact","orderlines","putOrderFact","ideal","removeorderlocal","calculateLocalCartProdCounts","ThanksComponent","params","iOrderNumber","orderstate","iOrderState","storderlines","removeItem","BannerPromotionComponent","BannersFourComponent","bgImage","BannersComponent","BlogSectionComponent","CategoriesMenuComponent","CategoriesSectionComponent","FooterTwoComponent","FooterComponent","HeaderFourComponent","HeaderThreeComponent","HeaderTwoComponent","HeaderComponent","MenuComponent","pane","document","getElementsByClassName","forEach","el","classList","contains","add","OrderByPipe","array","val","trim","from","sort","item1","item2","orderByComparator","parseFloat","isFinite","toLowerCase","JSON","parse","CartService","snackBar","itemsStream","observer","complete","product","message","hasItem","find","items","qty","stock","calculateStockCounts","open","panelClass","verticalPosition","duration","stringify","undefined","splice","pipe","reduce","prev","curr","price","providedIn","ProductService","httpClient","catalogMode","_url","compareProducts","hasProduct","filter","category","WishlistService","wishlistProducts","SharedModule","ShoppingWidgetsComponent","removeFromCart","getTotalAmount","SidebarMenuService","currentUrl","SidebarComponent","ariaExpanded","expanded","depth","animations","transform","HomeFiveComponent","slides","subtitle","discount","getProducts","HomeFourComponent","getBanners","HomeThreeComponent","ProductCarouselThreeComponent","productsService","wishlistService","dialog","onOpenProductDialog","config","slidesPerView","spaceBetween","keyboard","navigation","pagination","grabCursor","loop","preloadImages","lazy","breakpoints","addToCart","addToWishlist","addToCompare","dialogRef","afterClosed","HomeTwoComponent","ProductCarouselTwoComponent","HomeComponent","ProductCarouselComponent","MainCarouselComponent","clickable","autoplay","delay","disableOnInteraction","speed","effect","PriceComponent","priceFrom","priceTo","priceFilters","min","max","range","setInterval","emit","ProductCategoryComponent","activatedRoute","faTh","faList","list","grid","variant","showBtn","hiddenvariant","skeletonArray","defaultimg","shopimagesmedium","search","loadProductssearch","snapshot","loadProducts","getProductsByCategory","getProductsByCategorySearch","ProductDetailsComponent","counter","bigProductImageIndex","productid","getSingleProduct","getBreadCrumb","getProductsByDetail","properties","breadcrumb","sGroupDesc","nOrderFactor","postOrder","getOrderLines","nPriceFactor","nQuantity","productPrice","cartProduct","product_id","sDescription1","sArticleBrand","sPromoImage","sBlArtKey","nQuantityStep","curNetPrice","count","iNbPoints","totalPrice","blartkey","postOrderLine","sale","postOrderNativeNumber","innerWidth","offsetX","offsetY","x","zoomer","currentTarget","offsetWidth","offsetHeight","zoomViewer","nativeElement","style","backgroundPosition","display","height","width","zoomImage","nQuantityMin","replace","nQuantityMax","text","howManyCommasDoIHave","oke","yes","static","encapsulation","None","ProductZoomComponent","selectedProductImageIndex","close","ProductDialogComponent","variantImage","selectedColor","selectedSize","ProductLeftSidebarComponent","api2","sidenavOpen","sortByOrder","tagsFilters","viewType","viewCol","colorFilters","allItems","tags","colors","getProductByCategory","slice","getTags","getColors","getCategories","categories","uniqueBrands","itemBrand","map","tag","brand","uniqueColors","itemColor","color","CheckGuestLoginUser","animation","fadeIn","fadeOut","Colors","includes","Tags","page","scrollTo","newBrend","ProductSearchComponent","ProductSubcategoryComponent","getSubCategories","ProductVariantComponent","ProductVerticalComponent","ProductComponent","ProductsComponent","routes","ShopRoutingModule","entryComponents","BrandsComponent","brands","brandChanged","CategoriesComponent","PopularProductsComponent","Product","salePrice","pictures","shortDetails","description","newPro","AuthService","http","userKey","PBMuserKey","isLoggedIn","headers","post","storeUserCredentials","sSessionID","storeUserID","iUserId","storeClientID","iClient","storeUserType","iUserType","storePriceType","iPriceType","AuthToken","storePBM","storeallowPBM","bAllowPbm","storeallowSHOP","storeOrderNumber","iOrderId","storelogedIn","bLoggedIn","storeFullName","sFullName","userFullname","storeSalesUserCredentials","storeSalesUserType","delete","sha","toString","Base64","encodedSource1","encodedSource2","encodedSource3","part","string","parsed","clear","token","useCredentials","useSalesCredentials","useFullName","usePBMCredentials","usePriceType","useUserID","useUserType","useSalesUserType","useClientID","usePBMmodeID","OrderNumber","useOrderNumber","usePBMOrderNumber","useallowPBM","useLogedIn","bAllowSHOP","useallowSHOP","SalesAuthToken","FullName","PBMAuthToken","iSalesUserType","append","CART_KEY","PBMCART_KEY","injector","commonhttp","auth","currentprice","navbarCartCount","navbarPBMCartCount","calculateLocalPBMCartProdCounts","getLocalCartProducts","orderlineid","put","storeOrdernumber","storePBMOrdernumber","sResponse","set","useOrdernumber","PBMOrderNumber","date","json","mobile","reference","getLocalPBMCartProducts","API_STORAGE_KEY","CategoryService","networkService","offlineManager","ErrorEvent","subcategoies","ConnectionStatus","NetworkService","Offline","asObservable","getValue","STORAGE_REQ_KEY","OfflineManagerService","operations","obs","oneObs","request","promo","suggestion","suggestions","encodeURIComponent","encodeURI","environment","production","bootstrapModule","catch"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;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AD,CAAJ,CAAmB6Y,SAArC;;AACA,8BAAG,OAAI,CAACb,SAAL,KAAmB,CAAtB,EAAwB;AACtB,mCAAI,CAACe,yBAAL,CAA+B/Y,IAAI,CAAC,YAAD,CAAJ,CAAmB0X,UAAlD;;AACA,mCAAI,CAACsB,kBAAL,CAAwBhZ,IAAI,CAAC,YAAD,CAAJ,CAAmBgY,SAA3C;AACD;AACF,yBAjBD,MAmBEliB,OAAO,CAAC,KAAD,CAAP;AACH,uBAvBQ,CAAX;;AAwBAsG,6BAAO,CAACC,GAAR,CAAYiG,IAAZ;AACD,qBArCM,C;;;;;;;;;AAsCR,SAjWqB,CAmWtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;A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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AA3JsB;AAAA;AAAA,oCA6Jb;AACP,cAAM4R,OAAO,GAAG;AACd,4BAAgB,kBADF;AAEd,mCAAgBxb,MAAM,CAACC,YAAP,CAAoBG,OAApB,CAA4B,WAA5B,CAAhB;AAFc,WAAhB;AAIAC,iBAAO,CAACC,GAAR,CAAY,WAAZ,EAAyBkb,OAAzB;AACA,iBAAO,KAAK+D,UAAL,CAAgB9D,IAAhB,CAAqB,sCAArB,EAA6D,EAA7D,EAAiE;AAAC,uBAAUD;AAAX,WAAjE,CAAP;AACD;AApKqB;AAAA;AAAA,wCAuKN3W,IAvKM,EAuKAib,WAvKA,EAuKW;AAC/B,cAAMtE,OAAO,GAAG;AACd,4BAAgB,kBADF;AAEd,mCAAgBxb,MAAM,CAACC,YAAP,CAAoBG,OAApB,CAA4B,WAA5B,CAAhB;AAFc,WAAhB;AAIA,iBAAO,KAAKmf,UAAL,CAAgBQ,GAAhB,CAAoB,8CAA4C/f,MAAM,CAACC,YAAP,CAAoBG,OAApB,CAA4B,aAA5B,CAA5C,GAAuF,GAAvF,GAA2F0f,WAA/G,EAA4Hjb,IAA5H,EAAiI;AAAC,uBAAU2W;AAAX,WAAjI,CAAP;AACD,SA7KqB,CA+KtB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AA1SsB;AAAA;AAAA,8CA6SAvX,IA7SA,EA6SM;AAC1B,eAAK+b,gBAAL,CAAsB/b,IAAI,CAAC,WAAD,CAA1B;AACD,SA/SqB,CAiTtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAlcsB;AAAA;AAAA,iDAqcGA,IArcH,EAqcS;AAC7B,cAAI0Z,MAAM,GAAGrR,IAAI,CAACC,KAAL,CAAWtI,IAAI,CAACA,IAAhB,CAAb;AACA,eAAKgc,mBAAL,CAAyBtC,MAAM,CAACuC,SAAhC;AACD,SAxcqB,CA0ctB;AACA;AACA;AACA;AACA;AACA;AACA;AACA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GAAG,IAAI,gEAAJ,GAAkB2E,GAAlB,CAAsB,WAAtB,EAAmCngB,MAAM,CAACC,YAAP,CAAoBG,OAApB,CAA4B,UAA5B,CAAnC,CAAd;AACAob,iBAAO,CAAC2D,MAAR,CAAe,6BAAf,EAA8C,GAA9C;AACA3D,iBAAO,CAAC2D,MAAR,CAAe,8BAAf,EAA+C,yBAA/C;AACA3D,iBAAO,CAAC2D,MAAR,CAAe,QAAf,EAAyB,kBAAzB;AACA3D,iBAAO,CAAC2D,MAAR,CAAe,cAAf,EAA+B,kBAA/B;AACA9e,iBAAO,CAACC,GAAR,CAAY,cAAZ,EAA4BN,MAAM,CAACC,YAAP,CAAoBG,OAApB,CAA4B,UAA5B,CAA5B,EANa,CAOb;;AACA,cAAI6M,KAAK,GAAG,KAAKsS,UAAL,CAAgBrW,GAAhB,CAAoB,8CAA8ClJ,MAAM,CAACC,YAAP,CAAoBG,OAApB,CAA4B,gBAA5B,CAAlE,EAAiH;AAAEob,mBAAO,EAAEA;AAAX,WAAjH,CAAZ;AACAnb,iBAAO,CAACC,GAAR,CAAY,YAAZ,EAA0B2M,KAA1B;AACA,iBAAOA,KAAP;AACD,SA9kBqB,CAglBtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA/xFsB;AAAA;AAAA,yCAoyFLuR,WApyFK,EAoyFQ;AAC5Bxe,gBAAM,CAACC,YAAP,CAAoBC,OAApB,CAA4B,aAA5B,EAA2Cse,WAA3C,EAD4B,CAE5B;;AACA,eAAK4B,cAAL,CAAoB5B,WAApB;AACD;AAxyFqB;AAAA;AAAA,4CA0yFFA,WA1yFE,EA0yFW;AAC/Bxe,gBAAM,CAACC,YAAP,CAAoBC,OAApB,CAA4B,gBAA5B,EAA8Cse,WAA9C,EAD+B,CAE/B;;AACA,eAAK4B,cAAL,CAAoB5B,WAApB;AACD;AA9yFqB;AAAA;AAAA,0CAgzFJX,KAhzFI,EAgzFG;AACvB,eAAKwC,cAAL,GAAsBxC,KAAtB;AACD;AAlzFqB;AAAA;AAAA,uCAozFPA,KApzFO,EAozFA;AACpB,eAAKW,WAAL,GAAmBX,KAAnB;AACD,SAtzFqB,CAyzFtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","file":"main-es5.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"]}