{"version":3,"file":"main.js","mappings":"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O,WAAW,UAAU,UAAU,UAAU,YAAY,WAAW,YAAY,MAAM,OAAO,aAAa,aAAa,OAAO,KAAK,UAAU,YAAY,aAAa,aAAa,OAAO,YAAY,MAAM,UAAU,YAAY,aAAa,OAAO,UAAU,qBAAqB,OAAO,YAAY,MAAM,KAAK,UAAU,UAAU,UAAU,UAAU,UAAU,MAAM,YAAY,MAAM,YAAY,WAAW,UAAU,YAAY,WAAW,YAAY,aAAa,WAAW,UAAU,UAAU,YAAY,aAAa,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,aAAa,WAAW,UAAU,UAAU,UAAU,UAAU,UAAU,YAAY,WAAW,YAAY,aAAa,aAAa,MAAM,MAAM,KAAK,UAAU,YAAY,WAAW,UAAU,UAAU,UAAU,YAAY,aAAa,aAAa,aAAa,OAAO,KAAK,UAAU,UAAU,YAAY,aAAa,aAAa,aAAa,WAAW,YAAY,WAAW,MAAM,KAAK,UAAU,YAAY,aAAa,OAAO,KAAK,UAAU,UAAU,UAAU,YAAY,WAAW,UAAU,YAAY,OAAO,KAAK,UAAU,UAAU,YAAY,aAAa,WAAW,UAAU,UAAU,YAAY,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,WAAW,YAAY,WAAW,YAAY,aAAa,aAAa,aAAa,OAAO,KAAK,YAAY,WAAW,YAAY,aAAa,OAAO,KAAK,YAAY,WAAW,YAAY,aAAa,OAAO,KAAK,YAAY,WAAW,YAAY,aAAa,OAAO,KAAK,UAAU,UAAU,MAAM,KAAK,YAAY,WAAW,YAAY,aAAa,aAAa,aAAa,aAAa,aAAa,WAAW,YAAY,aAAa,OAAO,KAAK,UAAU,YAAY,WAAW,UAAU,UAAU,YAAY,WAAW,MAAM,KAAK,UAAU,YAAY,aAAa,aAAa,OAAO,KAAK,UAAU,YAAY,aAAa,aAAa,OAAO,KAAK,UAAU,UAAU,UAAU,UAAU,UAAU,YAAY,WAAW,YAAY,aAAa,aAAa,OAAO,KAAK,UAAU,YAAY,OAAO,KAAK,UAAU,YAAY,aAAa,WAAW,UAAU,MAAM,KAAK,UAAU,YAAY,WAAW,MAAM,KAAK,UAAU,YAAY,aAAa,WAAW,UAAU,YAAY,WAAW,YAAY,aAAa,OAAO,KAAK,UAAU,OAAO,KAAK,YAAY,aAAa,WAAW,MAAM,KAAK,KAAK,UAAU,KAAK,KAAK,UAAU,K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G,kBAAkB,mBAAmB,uBAAuB,cAAc,gBAAgB,GAAG,mBAAmB,uBAAuB,oBAAoB,sBAAsB,oBAAoB,oBAAoB,sBAAsB,GAAG,OAAO,6GAA6G,WAAW,UAAU,UAAU,UAAU,UAAU,MAAM,KAAK,WAAW,WAAW,MAAM,KAAK,UAAU,WAAW,UAAU,UAAU,MAAM,KAAK,WAAW,UAAU,WAAW,UAAU,UAAU,WAAW,sCAAsC,yBAAyB,cAAc,aAAa,kBAAkB,mBAAmB,KAAK,2BAA2B,0BAA0B,wBAAwB,KAAK,yBAAyB,qBAAqB,yBAAyB,gBAAgB,kBAAkB,KAAK,0BAA0B,yBAAyB,sBAAsB,wBAAwB,sBAAsB,sBAAsB,wBAAwB,KAAK,uBAAuB;AACtwC;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,wEAA6D;AACjH,kCAAkC,mBAAO,CAAC,iEAAsD;AAChG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","sources":["./common/_components/components.module.ts","./common/_components/confirm-dialog/confirm-dialog.component.ts","./common/_components/login-template/login-template.component.ts","./common/_components/maps/data/map-icon-options.ts","./common/_components/maps/libs/map-libs.ts","./common/_components/maps/map-control/map-control.component.ts","./common/_components/maps/map-tokens.ts","./common/_components/maps/map.component.ts","./common/_components/menu-list-item/menu-list-item.component.ts","./common/_components/social-login/social-login.component.ts","./common/_helpers/auth.guard.ts","./common/_helpers/custom.validator.ts","./common/_helpers/error.interceptor.ts","./common/_helpers/jwt.interceptor.ts","./common/_helpers/role.guard.ts","./common/_models/customers/customerAddress.ts","./common/_models/customers/customerUser.ts","./common/_models/site/cart.modal.ts","./common/_models/site/cartItem.modal.ts","./common/_models/site/filter/filter-attribute.modal.ts","./common/_models/site/filter/filter-brand.modal.ts","./common/_models/site/filter/filter-value.modal.ts","./common/_models/site/home-banner.modal.ts","./common/_models/site/payment.modal.ts","./common/_models/site/product-detail.modal.ts","./common/_models/site/product-filter.modal.ts","./common/_models/site/product-list.modal.ts","./common/_models/site/sub-category.modal.ts","./common/_models/store/dashboard.ts","./common/_models/store/dashboard/product.ts","./common/_models/store/earnings.ts","./common/_models/store/helpSupport.ts","./common/_models/store/notification.ts","./common/_models/store/offers.ts","./common/_models/store/order.ts","./common/_models/store/product.model.ts","./common/_models/store/productBrand.model.ts","./common/_models/store/productCategory.model.ts","./common/_models/store/productLabel.model.ts","./common/_models/store/productServiceType.model.ts","./common/_models/store/productTag.model.ts","./common/_models/store/productTheme.model.ts","./common/_models/store/productType.model.ts","./common/_models/store/productVariation.model.ts","./common/_models/store/returnRequest.ts","./common/_models/store/storeDriver.ts","./common/_models/store/variationInventory.model.ts","./common/_models/store/vehicle.model.ts","./common/_models/store/wishlist.ts","./common/_pipe/mycurrency.pipe.ts","./common/_pipe/pipe.module.ts","./common/constants.env.ts","./common/directives/dropdown-toggle.directive.ts","./common/directives/floats-only.directive.ts","./common/directives/my-directive.module.ts","./common/directives/numbers-only.directive.ts","./common/modules/material.module.ts","./common/services/authentication.service.ts","./common/services/chatbot.service.ts","./common/services/customers/customer.service.ts","./common/services/delivery-company.service.ts","./common/services/driver/user.service.ts","./common/services/event-emitter.service.ts","./common/services/firebase-auth.service.ts","./common/services/fixed-element.service.ts","./common/services/general.service.ts","./common/services/language.service.ts","./common/services/loader.service.ts","./common/services/nav.service.ts","./common/services/site/cartservice.ts","./common/services/site/siteDesigner.service.ts","./common/services/site/siteGeneral.service.ts","./common/services/site/siteProduct.service.ts","./common/services/store/category.service.ts","./common/services/store/designer.service.ts","./common/services/store/driver.service.ts","./common/services/store/feedback.service.ts","./common/services/store/helpSupport.service.ts","./common/services/store/lastminuteDeal.service.ts","./common/services/store/notification.service.ts","./common/services/store/offer.service.ts","./common/services/store/order.service.ts","./common/services/store/potentialList.service.ts","./common/services/store/product.service.ts","./common/services/store/promo-code.service.ts","./common/services/store/returnRequest.service.ts","./common/services/store/settings.service.ts","./common/services/store/specification.service.ts","./common/services/store/storeUser.service.ts","./common/services/store/vehicle.service.ts","./common/services/store/wishlist.service.ts","./common/services/title.service.ts","./projects/driver/src/app/app-routing.module.ts","./projects/driver/src/app/app.component.ts","./projects/driver/src/app/app.module.ts","./projects/driver/src/app/auth-pages/auth-pages-routing.module.ts","./projects/driver/src/app/auth-pages/auth-pages.module.ts","./projects/driver/src/app/auth-pages/email-verify/email-verify.component.ts","./projects/driver/src/app/auth-pages/login/login.component.ts","./projects/driver/src/app/auth-pages/register/register.component.ts","./projects/driver/src/app/auth-pages/reset-password/reset-password.component.ts","./projects/store/src/app/app-routing.module.ts","./projects/store/src/app/app.component.ts","./projects/store/src/app/app.module.ts","./projects/store/src/app/auth-pages/auth-pages-routing.module.ts","./projects/store/src/app/auth-pages/auth-pages.module.ts","./projects/store/src/app/auth-pages/email-verify/email-verify.component.ts","./projects/store/src/app/auth-pages/forgot-password/forgot-password.component.ts","./projects/store/src/app/auth-pages/login/login.component.ts","./projects/store/src/app/auth-pages/register/register.component.ts","./projects/store/src/app/auth-pages/reset-password/reset-password.component.ts","./projects/store/src/app/pages/aerial-view/aerial-view.component.ts","./projects/store/src/app/pages/cancel-request/cancel-request-routing.module.ts","./projects/store/src/app/pages/cancel-request/cancel-request.module.ts","./projects/store/src/app/pages/cancel-request/detail/detail.component.ts","./projects/store/src/app/pages/cancel-request/lists/lists.component.ts","./projects/store/src/app/pages/dashboard/dashboard.component.ts","./projects/store/src/app/pages/delivery-zone/delivery-zone.component.ts","./projects/store/src/app/pages/drivers/actions/actions.component.ts","./projects/store/src/app/pages/drivers/documents/documents.component.ts","./projects/store/src/app/pages/drivers/drivers-routing.module.ts","./projects/store/src/app/pages/drivers/drivers.module.ts","./projects/store/src/app/pages/drivers/lists/lists.component.ts","./projects/store/src/app/pages/earnings/earnings-routing.module.ts","./projects/store/src/app/pages/earnings/earnings.module.ts","./projects/store/src/app/pages/earnings/earnings/earnings.component.ts","./projects/store/src/app/pages/feedback/feedback.component.ts","./projects/store/src/app/pages/help-support/add/add.component.ts","./projects/store/src/app/pages/help-support/help-support-routing.module.ts","./projects/store/src/app/pages/help-support/help-support.module.ts","./projects/store/src/app/pages/help-support/list/list.component.ts","./projects/store/src/app/pages/notification/list/list.component.ts","./projects/store/src/app/pages/notification/notification-routing.module.ts","./projects/store/src/app/pages/notification/notification.module.ts","./projects/store/src/app/pages/offers/lists/lists.component.ts","./projects/store/src/app/pages/offers/offers-routing.module.ts","./projects/store/src/app/pages/offers/offers.module.ts","./projects/store/src/app/pages/orders/detail/detail.component.ts","./projects/store/src/app/pages/orders/orders-routing.module.ts","./projects/store/src/app/pages/orders/orders.module.ts","./projects/store/src/app/pages/orders/orders/orders.component.ts","./projects/store/src/app/pages/orders/schedule/schedule.component.ts","./projects/store/src/app/pages/pages-routing.module.ts","./projects/store/src/app/pages/pages.module.ts","./projects/store/src/app/pages/potential-list/list/list.component.ts","./projects/store/src/app/pages/potential-list/potential-list-routing.module.ts","./projects/store/src/app/pages/potential-list/potential-list.module.ts","./projects/store/src/app/pages/prefrred-delivery-company/prefrred-delivery-company.component.ts","./projects/store/src/app/pages/products/add-product/add-product.component.ts","./projects/store/src/app/pages/products/category/action/action.component.ts","./projects/store/src/app/pages/products/category/category-routing.module.ts","./projects/store/src/app/pages/products/category/category.module.ts","./projects/store/src/app/pages/products/category/list/list.component.ts","./projects/store/src/app/pages/products/edit-product/attributes/attributes.component.ts","./projects/store/src/app/pages/products/edit-product/edit-product.module.ts","./projects/store/src/app/pages/products/edit-product/edit/edit.component.ts","./projects/store/src/app/pages/products/edit-product/variations/variations.component.ts","./projects/store/src/app/pages/products/inventory-view/inventory-view.component.ts","./projects/store/src/app/pages/products/inventory/inventory.component.ts","./projects/store/src/app/pages/products/last-minute-deal/action/action.component.ts","./projects/store/src/app/pages/products/last-minute-deal/last-minute-deal-routing.module.ts","./projects/store/src/app/pages/products/last-minute-deal/last-minute-deal.module.ts","./projects/store/src/app/pages/products/last-minute-deal/list/list.component.ts","./projects/store/src/app/pages/products/list/list.component.ts","./projects/store/src/app/pages/products/products-routing.module.ts","./projects/store/src/app/pages/products/products.module.ts","./projects/store/src/app/pages/products/specification/list/list.component.ts","./projects/store/src/app/pages/products/specification/specification-routing.module.ts","./projects/store/src/app/pages/products/specification/specification.module.ts","./projects/store/src/app/pages/products/specification/values/values.component.ts","./projects/store/src/app/pages/promo-code/action/action.component.ts","./projects/store/src/app/pages/promo-code/list/list.component.ts","./projects/store/src/app/pages/promo-code/promo-code-routing.module.ts","./projects/store/src/app/pages/promo-code/promo-code.module.ts","./projects/store/src/app/pages/return-request/detail/detail.component.ts","./projects/store/src/app/pages/return-request/list/list.component.ts","./projects/store/src/app/pages/return-request/return-request-routing.module.ts","./projects/store/src/app/pages/return-request/return-request.module.ts","./projects/store/src/app/pages/settings/bank-detail/bank-detail.component.ts","./projects/store/src/app/pages/settings/change-password/change-password.component.ts","./projects/store/src/app/pages/settings/documents/documents.component.ts","./projects/store/src/app/pages/settings/order/order.component.ts","./projects/store/src/app/pages/settings/pickup-address-list/pickup-address-list.component.ts","./projects/store/src/app/pages/settings/policy/policy.component.ts","./projects/store/src/app/pages/settings/settings-menu/settings-menu.component.ts","./projects/store/src/app/pages/settings/settings-routing.module.ts","./projects/store/src/app/pages/settings/settings.module.ts","./projects/store/src/app/pages/settings/store/store.component.ts","./projects/store/src/app/pages/settings/time/time.component.ts","./projects/store/src/app/pages/shipping-rate/action/action.component.ts","./projects/store/src/app/pages/shipping-rate/list/list.component.ts","./projects/store/src/app/pages/shipping-rate/shipping-rate-routing.module.ts","./projects/store/src/app/pages/shipping-rate/shipping-rate.module.ts","./projects/store/src/app/pages/store-vehicle/action/action.component.ts","./projects/store/src/app/pages/store-vehicle/document/document.component.ts","./projects/store/src/app/pages/store-vehicle/list/list.component.ts","./projects/store/src/app/pages/store-vehicle/store-vehicle-routing.module.ts","./projects/store/src/app/pages/store-vehicle/store-vehicle.module.ts","./projects/store/src/app/pages/wishlist/wishlist-routing.module.ts","./projects/store/src/app/pages/wishlist/wishlist.module.ts","./projects/store/src/app/pages/wishlist/wishlist/wishlist.component.ts","./projects/store/src/app/shared/template-default/footer/footer.component.ts","./projects/store/src/app/shared/template-default/header/header.component.ts","./projects/store/src/app/shared/template-default/sidebar/sidebar.component.ts","./projects/store/src/app/shared/template-default/template-default.module.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/auth-pages/auth-pages-routing.module.ts","./src/app/auth-pages/auth-pages.module.ts","./src/app/auth-pages/email-verify/email-verify.component.ts","./src/app/auth-pages/forgot-password/forgot-password.component.ts","./src/app/auth-pages/login/login.component.ts","./src/app/auth-pages/register/register.component.ts","./src/app/auth-pages/reset-password/reset-password.component.ts","./src/app/delivery-company/dc-forgot-password/dc-forgot-password.component.ts","./src/app/delivery-company/dc-login/dc-login.component.ts","./src/app/delivery-company/dc-reset-password/dc-reset-password.component.ts","./src/app/delivery-company/delivery-company-routing.module.ts","./src/app/delivery-company/delivery-company.module.ts","./src/app/designer/designer-routing.module.ts","./src/app/designer/designer.module.ts","./src/app/designer/forgot-password/forgot-password.component.ts","./src/app/designer/login/login.component.ts","./src/app/designer/reset-password/reset-password.component.ts","./src/app/e-commerce/cart/cart.component.ts","./src/app/e-commerce/category/category.component.ts","./src/app/e-commerce/components/product-list/product-list.component.ts","./src/app/e-commerce/components/sharedComponents.module.ts","./src/app/e-commerce/designer-catalog/catalog-detail/catalog-detail.component.ts","./src/app/e-commerce/designer-catalog/designer-catalog-routing.module.ts","./src/app/e-commerce/designer-catalog/designer-catalog.module.ts","./src/app/e-commerce/designer-catalog/list/list.component.ts","./src/app/e-commerce/e-commerce-routing.module.ts","./src/app/e-commerce/e-commerce.module.ts","./src/app/e-commerce/home/home.component.ts","./src/app/e-commerce/hot-deal/hot-deal.component.ts","./src/app/e-commerce/last-minute-deal/last-minute-deal.component.ts","./src/app/e-commerce/pages/cms/cms.component.ts","./src/app/e-commerce/pages/contact/contact.component.ts","./src/app/e-commerce/pages/faq/faq.component.ts","./src/app/e-commerce/pages/pages-routing.module.ts","./src/app/e-commerce/pages/pages.module.ts","./src/app/e-commerce/pages/shared/aboutus/aboutus.component.ts","./src/app/e-commerce/payment/cancel/cancel.component.ts","./src/app/e-commerce/payment/decline/decline.component.ts","./src/app/e-commerce/payment/payment-action/payment-action.component.ts","./src/app/e-commerce/payment/payment-routing.module.ts","./src/app/e-commerce/payment/payment.module.ts","./src/app/e-commerce/payment/success/success.component.ts","./src/app/e-commerce/product-detail/product-detail.component.ts","./src/app/e-commerce/product-view/product-view.component.ts","./src/app/e-commerce/products/products.component.ts","./src/app/e-commerce/template/chat-bot/chat-bot.component.ts","./src/app/e-commerce/template/filter-sidebar/filter-sidebar.component.ts","./src/app/e-commerce/template/footer/footer.component.ts","./src/app/e-commerce/template/header/header.component.ts","./src/app/e-commerce/template/template.module.ts","./src/app/pages/customer/address/add-address/add-address.component.ts","./src/app/pages/customer/address/address-routing.module.ts","./src/app/pages/customer/address/address.module.ts","./src/app/pages/customer/address/address/address.component.ts","./src/app/pages/customer/cancel-request/cancel-request-routing.module.ts","./src/app/pages/customer/cancel-request/cancel-request.module.ts","./src/app/pages/customer/cancel-request/detail/detail.component.ts","./src/app/pages/customer/cancel-request/list/list.component.ts","./src/app/pages/customer/customer-routing.module.ts","./src/app/pages/customer/customer.module.ts","./src/app/pages/customer/job/job-detail/job-detail.component.ts","./src/app/pages/customer/job/job-routing.module.ts","./src/app/pages/customer/job/job.module.ts","./src/app/pages/customer/job/list/list.component.ts","./src/app/pages/customer/orders/detail/detail.component.ts","./src/app/pages/customer/orders/orders-routing.module.ts","./src/app/pages/customer/orders/orders.module.ts","./src/app/pages/customer/orders/orders/orders.component.ts","./src/app/pages/customer/profile/change-password/change-password.component.ts","./src/app/pages/customer/profile/inner-nav/inner-nav.component.ts","./src/app/pages/customer/profile/profile-routing.module.ts","./src/app/pages/customer/profile/profile.module.ts","./src/app/pages/customer/profile/profile/profile.component.ts","./src/app/pages/customer/return-request/return-request.component.ts","./src/app/pages/customer/support-cancel-order/support-cancel-order.component.ts","./src/app/pages/customer/wishlist/detail/detail.component.ts","./src/app/pages/customer/wishlist/wishlist-routing.module.ts","./src/app/pages/customer/wishlist/wishlist.module.ts","./src/app/pages/customer/wishlist/wishlist/wishlist.component.ts","./src/app/shared/template-default/footer/footer.component.ts","./src/app/shared/template-default/header/header.component.ts","./src/app/shared/template-default/siderbar/siderbar.component.ts","./src/app/shared/template-default/template-default.module.ts","./src/environments/environment.ts","./src/main.ts","./common/_components/confirm-dialog/confirm-dialog.component.css","./common/_components/login-template/login-template.component.css","./common/_components/social-login/social-login.component.css","./projects/driver/src/app/app.component.css","./projects/driver/src/app/auth-pages/email-verify/email-verify.component.css","./projects/driver/src/app/auth-pages/login/login.component.css","./projects/driver/src/app/auth-pages/register/register.component.css","./projects/driver/src/app/auth-pages/reset-password/reset-password.component.css","./projects/store/src/app/app.component.css","./projects/store/src/app/auth-pages/email-verify/email-verify.component.css","./projects/store/src/app/auth-pages/forgot-password/forgot-password.component.css","./projects/store/src/app/auth-pages/login/login.component.css","./projects/store/src/app/auth-pages/register/register.component.css","./projects/store/src/app/auth-pages/reset-password/reset-password.component.css","./projects/store/src/app/pages/aerial-view/aerial-view.component.css","./projects/store/src/app/pages/cancel-request/detail/detail.component.css","./projects/store/src/app/pages/cancel-request/lists/lists.component.css","./projects/store/src/app/pages/dashboard/dashboard.component.css","./projects/store/src/app/pages/delivery-zone/delivery-zone.component.css","./projects/store/src/app/pages/drivers/actions/actions.component.css","./projects/store/src/app/pages/drivers/documents/documents.component.css","./projects/store/src/app/pages/drivers/lists/lists.component.css","./projects/store/src/app/pages/earnings/earnings/earnings.component.css","./projects/store/src/app/pages/feedback/feedback.component.css","./projects/store/src/app/pages/help-support/add/add.component.css","./projects/store/src/app/pages/help-support/list/list.component.css","./projects/store/src/app/pages/notification/list/list.component.css","./projects/store/src/app/pages/offers/lists/lists.component.css","./projects/store/src/app/pages/orders/detail/detail.component.css","./projects/store/src/app/pages/orders/orders/orders.component.css","./projects/store/src/app/pages/orders/schedule/schedule.component.css","./projects/store/src/app/pages/potential-list/list/list.component.css","./projects/store/src/app/pages/prefrred-delivery-company/prefrred-delivery-company.component.css","./projects/store/src/app/pages/products/add-product/add-product.component.css","./projects/store/src/app/pages/products/category/action/action.component.css","./projects/store/src/app/pages/products/category/list/list.component.css","./projects/store/src/app/pages/products/edit-product/attributes/attributes.component.css","./projects/store/src/app/pages/products/edit-product/edit/edit.component.css","./projects/store/src/app/pages/products/edit-product/variations/variations.component.css","./projects/store/src/app/pages/products/inventory-view/inventory-view.component.css","./projects/store/src/app/pages/products/inventory/inventory.component.css","./projects/store/src/app/pages/products/last-minute-deal/action/action.component.css","./projects/store/src/app/pages/products/last-minute-deal/list/list.component.css","./projects/store/src/app/pages/products/list/list.component.css","./projects/store/src/app/pages/products/specification/list/list.component.css","./projects/store/src/app/pages/products/specification/values/values.component.css","./projects/store/src/app/pages/promo-code/action/action.component.css","./projects/store/src/app/pages/promo-code/list/list.component.css","./projects/store/src/app/pages/return-request/detail/detail.component.css","./projects/store/src/app/pages/return-request/list/list.component.css","./projects/store/src/app/pages/settings/bank-detail/bank-detail.component.css","./projects/store/src/app/pages/settings/change-password/change-password.component.css","./projects/store/src/app/pages/settings/documents/documents.component.css","./projects/store/src/app/pages/settings/order/order.component.css","./projects/store/src/app/pages/settings/pickup-address-list/pickup-address-list.component.css","./projects/store/src/app/pages/settings/policy/policy.component.css","./projects/store/src/app/pages/settings/settings-menu/settings-menu.component.css","./projects/store/src/app/pages/settings/store/store.component.css","./projects/store/src/app/pages/settings/time/time.component.css","./projects/store/src/app/pages/shipping-rate/action/action.component.css","./projects/store/src/app/pages/shipping-rate/list/list.component.css","./projects/store/src/app/pages/store-vehicle/action/action.component.css","./projects/store/src/app/pages/store-vehicle/document/document.component.css","./projects/store/src/app/pages/store-vehicle/list/list.component.css","./projects/store/src/app/pages/wishlist/wishlist/wishlist.component.css","./projects/store/src/app/shared/template-default/footer/footer.component.css","./projects/store/src/app/shared/template-default/header/header.component.css","./projects/store/src/app/shared/template-default/sidebar/sidebar.component.css","./src/app/app.component.css","./src/app/auth-pages/email-verify/email-verify.component.css","./src/app/auth-pages/forgot-password/forgot-password.component.css","./src/app/auth-pages/login/login.component.css","./src/app/auth-pages/register/register.component.css","./src/app/auth-pages/reset-password/reset-password.component.css","./src/app/delivery-company/dc-forgot-password/dc-forgot-password.component.css","./src/app/delivery-company/dc-login/dc-login.component.css","./src/app/delivery-company/dc-reset-password/dc-reset-password.component.css","./src/app/designer/forgot-password/forgot-password.component.css","./src/app/designer/login/login.component.css","./src/app/designer/reset-password/reset-password.component.css","./src/app/e-commerce/cart/cart.component.css","./src/app/e-commerce/category/category.component.css","./src/app/e-commerce/components/product-list/product-list.component.css","./src/app/e-commerce/designer-catalog/catalog-detail/catalog-detail.component.css","./src/app/e-commerce/designer-catalog/list/list.component.css","./src/app/e-commerce/home/home.component.css","./src/app/e-commerce/hot-deal/hot-deal.component.css","./src/app/e-commerce/last-minute-deal/last-minute-deal.component.css","./src/app/e-commerce/pages/cms/cms.component.css","./src/app/e-commerce/pages/contact/contact.component.css","./src/app/e-commerce/pages/faq/faq.component.css","./src/app/e-commerce/pages/shared/aboutus/aboutus.component.css","./src/app/e-commerce/payment/cancel/cancel.component.css","./src/app/e-commerce/payment/decline/decline.component.css","./src/app/e-commerce/payment/payment-action/payment-action.component.css","./src/app/e-commerce/payment/success/success.component.css","./src/app/e-commerce/product-detail/product-detail.component.css","./src/app/e-commerce/product-view/product-view.component.css","./src/app/e-commerce/products/products.component.css","./src/app/e-commerce/template/chat-bot/chat-bot.component.css","./src/app/e-commerce/template/filter-sidebar/filter-sidebar.component.css","./src/app/e-commerce/template/footer/footer.component.css","./src/app/e-commerce/template/header/header.component.css","./src/app/pages/customer/address/add-address/add-address.component.css","./src/app/pages/customer/address/address/address.component.css","./src/app/pages/customer/cancel-request/detail/detail.component.css","./src/app/pages/customer/cancel-request/list/list.component.css","./src/app/pages/customer/job/job-detail/job-detail.component.css","./src/app/pages/customer/job/list/list.component.css","./src/app/pages/customer/orders/detail/detail.component.css","./src/app/pages/customer/orders/orders/orders.component.css","./src/app/pages/customer/profile/change-password/change-password.component.css","./src/app/pages/customer/profile/inner-nav/inner-nav.component.css","./src/app/pages/customer/profile/profile/profile.component.css","./src/app/pages/customer/return-request/return-request.component.css","./src/app/pages/customer/support-cancel-order/support-cancel-order.component.css","./src/app/pages/customer/wishlist/detail/detail.component.css","./src/app/pages/customer/wishlist/wishlist/wishlist.component.css","./src/app/shared/template-default/footer/footer.component.css","./src/app/shared/template-default/header/header.component.css","./src/app/shared/template-default/siderbar/siderbar.component.css","./common/_components/maps/map-control/map-control.component.scss","./common/_components/maps/map.component.scss","./common/_components/menu-list-item/menu-list-item.component.scss","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule } from \"@angular/router\";\r\n\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { LoginTemplateComponent } from \"common/_components/login-template/login-template.component\";\r\nimport { MenuListItemComponent } from \"common/_components/menu-list-item/menu-list-item.component\";\r\nimport { ConfirmDialogComponent } from \"common/_components/confirm-dialog/confirm-dialog.component\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { NavService } from \"common/services/nav.service\";\r\nimport { MapComponent } from \"./maps/map.component\";\r\nimport { MapControlComponent } from \"./maps/map-control/map-control.component\";\r\nimport { SocialLoginComponent } from \"./social-login/social-login.component\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { Ng2TelInputModule } from \"ng2-tel-input\";\r\nimport { NgxIntlTelInputModule } from \"ngx-intl-tel-input\";\r\nimport { AngularFireModule } from \"@angular/fire/compat\";\r\nimport { AngularFireAuthModule } from \"@angular/fire/compat/auth\";\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\n@NgModule({\r\n declarations: [\r\n LoginTemplateComponent,\r\n MenuListItemComponent,\r\n ConfirmDialogComponent,\r\n MapComponent,\r\n MapControlComponent,\r\n SocialLoginComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n Ng2TelInputModule,\r\n NgxIntlTelInputModule,\r\n TranslateModule.forRoot(),\r\n MaterialModule,\r\n ModalModule.forRoot(),\r\n AngularFireModule.initializeApp(constEnv.firebaseConfig),\r\n AngularFireAuthModule,\r\n ],\r\n exports: [\r\n LoginTemplateComponent,\r\n MenuListItemComponent,\r\n MapComponent,\r\n MapControlComponent,\r\n SocialLoginComponent,\r\n ],\r\n entryComponents: [ConfirmDialogComponent],\r\n providers: [NavService],\r\n})\r\nexport class ComponentModule {}\r\n","import { Component, OnInit, Inject } from \"@angular/core\";\r\nimport {\r\n MatDialog,\r\n MatDialogRef,\r\n MAT_DIALOG_DATA,\r\n} from \"@angular/material/dialog\";\r\n\r\n@Component({\r\n selector: \"app-confirm-dialog\",\r\n templateUrl: \"./confirm-dialog.component.html\",\r\n styleUrls: [\"./confirm-dialog.component.css\"],\r\n})\r\nexport class ConfirmDialogComponent implements OnInit {\r\n title: string;\r\n message: string;\r\n confirmButton = \"Confirm\";\r\n cancelButton = \"Cancel\";\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.data.confirmButton =\r\n typeof this.data.confirmButton !== \"undefined\"\r\n ? this.data.confirmButton\r\n : this.confirmButton;\r\n this.data.cancelButton =\r\n typeof this.data.cancelButton !== \"undefined\"\r\n ? this.data.cancelButton\r\n : this.cancelButton;\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy, Inject } from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\n\r\n@Component({\r\n selector: \"app-login-template\",\r\n templateUrl: \"./login-template.component.html\",\r\n styleUrls: [\"./login-template.component.css\"],\r\n})\r\nexport class LoginTemplateComponent implements OnInit {\r\n public constEnv = constEnv;\r\n\r\n currentYear = new Date().getFullYear();\r\n logoUrl = \"\";\r\n\r\n constructor(private route: ActivatedRoute, private gs: GeneralService) {}\r\n\r\n ngOnInit() {\r\n this.logoUrl = this.gs.getSiteLogo(true);\r\n }\r\n}\r\n","/**\r\n * Copyright 2019 Jim Armstrong (www.algorithmist.net)\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n/**\r\n * (Leaflet) Map Icon Options\r\n */\r\n\r\nimport { IconOptions } from \"../interfaces/icon-options\";\r\n\r\nexport const MapIconOptions: IconOptions = {\r\n iconAnchor: [0, 42],\r\n iconSize: [25, 42],\r\n mapIcon: \"../../../../assets/images/maps/marker-icon.png\",\r\n mapShadowIcon: \"../../../../assets/images/maps/marker-shadow.png\",\r\n shadowSize: [41, 41],\r\n shadowAnchor: [0, 41],\r\n};\r\n","/**\r\n * Copyright 2019 Jim Armstrong (www.algorithmist.net)\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n/**\r\n * Some useful map functions\r\n *\r\n * @author Jim Armstrong (www.algorithmist.net)\r\n *\r\n * @version 1.0\r\n */\r\n\r\nimport * as L from 'leaflet';\r\n\r\nexport const getCurrentOffset = (map: any): {x: number, y: number} => {\r\n\r\n const layerCorner: L.Point = map.getPixelOrigin();\r\n const mapCorner: L.Point = map.getPixelBounds().min;\r\n\r\n let xVal = 0;\r\n let yVal = 0;\r\n\r\n if (!layerCorner.equals(mapCorner)) {\r\n xVal = layerCorner.x - mapCorner.x;\r\n yVal = layerCorner.y - mapCorner.y;\r\n }\r\n\r\n return {x: xVal, y: yVal};\r\n};\r\n\r\n","/**\r\n * Copyright 2019 Jim Armstrong (www.algorithmist.net)\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n/**\r\n * Skeleton for an Angular map control component such as custom zoom\r\n */\r\nimport {\r\n Component\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'map-control',\r\n\r\n templateUrl: './map-control.component.html',\r\n\r\n styleUrls: ['./map-control.component.scss'],\r\n})\r\nexport class MapControlComponent\r\n{\r\n constructor()\r\n {\r\n // empty\r\n }\r\n}\r\n","/**\r\n * Copyright 2019 Jim Armstrong (www.algorithmist.net)\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n/**\r\n * Injection tokens for the Angular8/Leaflet Map demo\r\n */\r\n\r\nimport { InjectionToken } from '@angular/core';\r\n\r\nexport const INIT_COORDS = new InjectionToken<{lat: number, long: number}>('INIT_COORDS');\r\n","/**\r\n * Copyright 2019 Jim Armstrong (www.algorithmist.net)\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n Inject,\r\n Input,\r\n HostListener,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n SimpleChanges,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\n\r\nimport { getCurrentOffset } from \"./libs/map-libs\";\r\n\r\nimport { MapIconOptions } from \"./data/map-icon-options\";\r\n\r\nimport { EventHandler } from \"./interfaces/event-handler\";\r\nimport { INIT_COORDS } from \"./map-tokens\";\r\n\r\nimport * as esri from \"esri-leaflet\";\r\nimport * as L from \"leaflet\";\r\nimport * as ELG from \"esri-leaflet-geocoder\";\r\nimport { AddressInfo } from \"./interfaces/address-info\";\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\n/**\r\n * Leaflet Map Component\r\n *\r\n * @author Jim Armstrong (www.algorithmist.net)\r\n *\r\n * @version 1.0\r\n */\r\n\r\n@Component({\r\n selector: \"app-map\",\r\n\r\n templateUrl: \"./map.component.html\",\r\n\r\n styleUrls: [\"./map.component.scss\"],\r\n})\r\nexport class MapComponent implements OnInit, AfterViewInit, OnDestroy {\r\n public mcText: string; // mouse coords text (innerHTML)\r\n\r\n @Input()\r\n public markers: {\r\n lat: number;\r\n lng: number;\r\n label: string;\r\n draggable: boolean;\r\n }[]; // Markers to overlay on Map\r\n\r\n @Input()\r\n public currentWidth: string = \"\"; // current map width based on window width\r\n @Input()\r\n public currentHeight: string = \"\"; // current map height based on window height\r\n\r\n @Input() public latitude: number;\r\n @Input() public longitude: number;\r\n\r\n @Input() public currentBrowserLocation: boolean = false;\r\n currentLocation: boolean = false;\r\n\r\n protected baseLayer: any; // Map Base layer\r\n protected map: any; // Map reference (currently leaflet)\r\n protected mapLoaded = false; // True if the map has been loaded\r\n\r\n markerLatLongs = [];\r\n\r\n @Output() setAutoCompleteResult = new EventEmitter();\r\n\r\n // The primary Map\r\n @ViewChild(\"primaryMap\", { static: true }) protected mapDivRef: ElementRef;\r\n protected mapDiv: HTMLDivElement;\r\n\r\n // Leaflet Map Event Handlers (used for removal on destroy)\r\n protected onClickHandler: EventHandler;\r\n protected onMouseMoveHandler: EventHandler;\r\n\r\n mapLayerGroup;\r\n config = constEnv;\r\n\r\n constructor(\r\n @Inject(INIT_COORDS) protected _initCoords: { lat: number; long: number }\r\n ) {\r\n this.baseLayer = null;\r\n\r\n // Leaflet Map Event Handlers\r\n this.onClickHandler = (evt: any) => this.__onMapClick(evt);\r\n this.onMouseMoveHandler = (evt: any) => this.__onMapMouseMove(evt);\r\n\r\n // Initial mouse-coords text\r\n this.mcText = \"\";\r\n\r\n // some simple default values\r\n // this.currentWidth = 600;\r\n // this.currentHeight = 200;\r\n }\r\n\r\n public ngOnInit(): void {\r\n // Reference to DIV containing map is used in Leaflet initialization\r\n this.mapDiv = this.mapDivRef.nativeElement;\r\n\r\n this.__setInitCoords();\r\n this.__initializeMap();\r\n this.__renderMap();\r\n // this.__showMarkers();\r\n if (this.currentBrowserLocation) {\r\n this.__getCurrentLocation();\r\n }\r\n }\r\n\r\n public ngAfterViewInit(): void {\r\n this.map.invalidateSize();\r\n\r\n this.__initMapHandlers();\r\n this.__showMarkers();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n //Called before any other lifecycle hook. Use it to inject dependencies, but avoid any serious work here.\r\n //Add '${implements OnChanges}' to the class.\r\n this.__showMarkers();\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.map.off(\"click\", this.onClickHandler);\r\n this.map.off(\"mousemove\", this.onMouseMoveHandler);\r\n }\r\n\r\n /**\r\n * Basic map initialization\r\n */\r\n protected __initializeMap(): void {\r\n if (this.mapLoaded) {\r\n return;\r\n }\r\n\r\n this.mapLoaded = true;\r\n\r\n this.__updateMapSize();\r\n }\r\n\r\n protected __setInitCoords() {\r\n this._initCoords.lat = this.latitude ? this.latitude : this._initCoords.lat;\r\n this._initCoords.long = this.longitude\r\n ? this.longitude\r\n : this._initCoords.long;\r\n }\r\n\r\n /**\r\n * Render the map (establish center and base layer)\r\n */\r\n protected __renderMap(): void {\r\n // Create Leaflet Map in fixed DIV - zoom level is hardcoded for simplicity\r\n this.map = L.map(this.mapDiv, {\r\n zoomControl: false,\r\n zoomAnimation: false,\r\n trackResize: true,\r\n boxZoom: true,\r\n zoomSnap: 0.25,\r\n }).setView([this._initCoords.lat, this._initCoords.long], 8);\r\n\r\n // this.baseLayer = esri.basemapLayer(\"Gray\");\r\n // this.map.addLayer(this.baseLayer);\r\n // const lGroup = L.layerGroup().addTo(this.map);\r\n const tiles = L.tileLayer(\r\n \"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\",\r\n // \"https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png\",\r\n // \"https://tiles.stadiamaps.com/tiles/outdoors/{z}/{x}/{y}{r}.png\",\r\n {\r\n maxZoom: 19,\r\n attribution: \"©\",\r\n }\r\n ).addTo(this.map);\r\n\r\n this.mapLayerGroup = new L.LayerGroup().addTo(this.map);\r\n\r\n // console.log(ELG.WorldGeocodingServiceUrl);\r\n\r\n this.searchAddressControl();\r\n }\r\n\r\n /**\r\n * Show markers if they are defined\r\n */\r\n protected __showMarkers(): void {\r\n if (\r\n this.markers !== undefined &&\r\n this.markers != null &&\r\n this.markers.length > 0\r\n ) {\r\n // Add markers\r\n // const icon = L.icon({\r\n // iconUrl: MapIconOptions.mapIcon,\r\n // iconSize: MapIconOptions.iconSize as L.PointExpression,\r\n // iconAnchor: MapIconOptions.iconAnchor as L.PointExpression,\r\n // shadowUrl: MapIconOptions.mapShadowIcon,\r\n // shadowSize: MapIconOptions.shadowSize as L.PointExpression,\r\n // shadowAnchor: MapIconOptions.shadowAnchor as L.PointExpression,\r\n // });\r\n\r\n const n: number = this.markers.length;\r\n let i: number;\r\n // let m: L.marker;\r\n\r\n let x: number;\r\n let y: number;\r\n let l: string;\r\n let d: boolean;\r\n\r\n this.clearLayers();\r\n for (i = 0; i < n; ++i) {\r\n x = this.markers[i].lat;\r\n y = this.markers[i].lng;\r\n l = this.markers[i].label;\r\n d = this.markers[i].draggable;\r\n\r\n if (x !== undefined && !isNaN(x) && y !== undefined && !isNaN(y)) {\r\n // okay to add the icon\r\n // m = L.marker([x, y], { icon: icon }).addTo(this.map);\r\n this.createMarker(x, y, l, d);\r\n } else {\r\n // implement your own error handling\r\n console.log(\r\n \"MARKER ERROR, Marker number: \",\r\n i + 1,\r\n \"x: \",\r\n x,\r\n \" y: \",\r\n y\r\n );\r\n }\r\n }\r\n this.setCenterMarkerMap(16);\r\n }\r\n }\r\n\r\n createMarker(\r\n lat: number,\r\n long: number,\r\n popupContent: string = \"\",\r\n draggable: boolean = false\r\n ): void {\r\n const icon = this.getMarkerIcon();\r\n\r\n let m: L.marker;\r\n\r\n m = L.marker([lat, long], { icon: icon, draggable: draggable }).addTo(\r\n this.map\r\n );\r\n if (popupContent) {\r\n m.bindPopup(popupContent);\r\n }\r\n this.mapLayerGroup.addLayer(m);\r\n\r\n const that = this;\r\n m.on(\"dragend\", function (data) {\r\n that.getAddressFromLatLng(m);\r\n });\r\n\r\n if (this.currentLocation) {\r\n this.getAddressFromLatLng(m);\r\n }\r\n\r\n this.markerLatLongs.push(m.getLatLng());\r\n }\r\n\r\n setCenterMarkerMap(zoomLevel: number = 8) {\r\n var markerBounds = L.latLngBounds(this.markerLatLongs);\r\n //console.log(markerBounds);\r\n this.map.fitBounds(markerBounds, { padding: [50, 50] });\r\n if (this.markerLatLongs.length === 1) this.map.setZoom(zoomLevel);\r\n }\r\n\r\n clearLayers() {\r\n this.mapLayerGroup.clearLayers();\r\n }\r\n\r\n getMarkerIcon() {\r\n const icon = L.icon({\r\n iconUrl: MapIconOptions.mapIcon,\r\n iconSize: MapIconOptions.iconSize, // as L.PointExpression,\r\n // iconAnchor: MapIconOptions.iconAnchor as L.PointExpression,\r\n // shadowUrl: MapIconOptions.mapShadowIcon,\r\n // shadowSize: MapIconOptions.shadowSize,\r\n // shadowAnchor: MapIconOptions.shadowAnchor as L.PointExpression,\r\n });\r\n\r\n return icon;\r\n }\r\n\r\n protected __getCurrentLocation() {\r\n if (\"geolocation\" in navigator) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n const lat = position.coords.latitude;\r\n const lng = position.coords.longitude;\r\n\r\n this.currentLocation = true;\r\n this.createMarker(lat, lng, \"\", true);\r\n });\r\n }\r\n }\r\n\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n __onResize(event: any): void {\r\n this.__updateMapSize();\r\n\r\n this.map.invalidateSize();\r\n }\r\n\r\n /**\r\n * Update the current width/height occupied by the map\r\n */\r\n protected __updateMapSize(): void {\r\n // update width/height settings as you see fit\r\n this.currentWidth =\r\n this.currentWidth === \"\"\r\n ? (\r\n window.innerWidth ||\r\n document.documentElement.clientWidth ||\r\n document.body.clientWidth\r\n ).toString()\r\n : this.currentWidth;\r\n this.currentHeight =\r\n this.currentHeight === \"\"\r\n ? (\r\n (window.innerHeight ||\r\n document.documentElement.clientHeight ||\r\n document.body.clientHeight) - 200\r\n ).toString()\r\n : this.currentHeight;\r\n }\r\n\r\n /**\r\n * Initialize Leaflet Map handlers\r\n */\r\n protected __initMapHandlers(): void {\r\n this.map.on(\"mousemove\", this.onMouseMoveHandler);\r\n this.map.on(\"click\", this.onClickHandler);\r\n }\r\n\r\n /**\r\n * Execute on Leaflet Map click\r\n */\r\n protected __onMapClick(evt: any): void {\r\n const target: any = evt.originalEvent.target;\r\n\r\n //console.log(\"Map click on: \", target);\r\n }\r\n\r\n /**\r\n * Execute on mouse move over Leaflet map\r\n *\r\n * @param evt Leaflet-supplied information regarding current mouse point, mainly geo coords.\r\n */\r\n protected __onMapMouseMove(evt: any): void {\r\n const offset: { x: number; y: number } = getCurrentOffset(this.map);\r\n\r\n // uncomment to study offset\r\n // console.log('offset computation:', offset);\r\n\r\n // Lat and Long are embedded in the event object\r\n const lat: string = evt.latlng.lat.toFixed(3);\r\n const long: string = evt.latlng.lng.toFixed(3);\r\n this.mcText = `Latitude: ${lat}     Longitude: ${long}`;\r\n }\r\n\r\n searchAddressControl() {\r\n // const searchControl = ELG.geosearch().addTo(this.map);\r\n const searchControl = ELG.geosearch({\r\n //here we call the input id.\r\n useMapBounds: false,\r\n providers: [\r\n ELG.arcgisOnlineProvider({\r\n maxResults: 10,\r\n apikey: this.config.leafletEsriApiKey,\r\n }),\r\n ],\r\n placeholder: \"Search for an address\",\r\n title: \"Address Search\",\r\n // searchBounds: searchBounds, // limit search results within these coordinates\r\n zoomToResult: true,\r\n notFoundMessage: \"Not found\",\r\n position: \"topright\",\r\n });\r\n\r\n const that = this;\r\n searchControl\r\n .on(\"results\", function (data) {\r\n that.mapLayerGroup.clearLayers();\r\n for (let i = data.results.length - 1; i >= 0; i--) {\r\n that.createMarker(\r\n data.results[i].latlng.lat,\r\n data.results[i].latlng.lng,\r\n data.results[i].text,\r\n true\r\n );\r\n // that.mapLayerGroup.addLayer(\r\n // L.marker(data.results[i].latlng, {\r\n // icon: that.getMarkerIcon(),\r\n // draggable: true,\r\n // })\r\n // .addTo(that.map)\r\n // .bindPopup(data.results[i].text)\r\n // );\r\n that.setAutoCompleteResult.emit(data.results[i] as AddressInfo);\r\n }\r\n })\r\n .addTo(this.map);\r\n }\r\n\r\n getAddressFromLatLng(marker: any) {\r\n let that = this;\r\n ELG.reverseGeocode({\r\n apikey: this.config.leafletEsriApiKey,\r\n })\r\n .latlng(marker.getLatLng())\r\n .language(\"eng\")\r\n .run(function (error, result) {\r\n if (!error) {\r\n const addressInfo: AddressInfo = {\r\n bounds: [],\r\n properties: result.address,\r\n latlng: result.latlng,\r\n score: 0,\r\n text: result.address.LongLabel,\r\n };\r\n\r\n marker.bindPopup(addressInfo.text);\r\n that.markerLatLongs = [];\r\n that.markerLatLongs.push(marker.getLatLng());\r\n that.setCenterMarkerMap(16);\r\n that.setAutoCompleteResult.emit(addressInfo);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, HostBinding, Input, OnInit } from \"@angular/core\";\r\nimport { NavItem } from \"common/_models/nav-item\";\r\nimport { Router } from \"@angular/router\";\r\nimport { NavService } from \"common/services/nav.service\";\r\nimport {\r\n animate,\r\n state,\r\n style,\r\n transition,\r\n trigger,\r\n} from \"@angular/animations\";\r\n\r\n@Component({\r\n selector: \"app-menu-list-item\",\r\n templateUrl: \"./menu-list-item.component.html\",\r\n styleUrls: [\"./menu-list-item.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(\r\n \"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 MenuListItemComponent implements OnInit {\r\n expanded: boolean = false;\r\n @HostBinding(\"attr.aria-expanded\") ariaExpanded = this.expanded;\r\n @Input() item: NavItem;\r\n @Input() depth: number;\r\n\r\n constructor(public navService: NavService, 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.navService.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\r\n onItemSelected(item: NavItem) {\r\n if (!item.children || !item.children.length) {\r\n if (item.route !== \"\") {\r\n this.router.navigate([item.route]);\r\n }\r\n // this.navService.closeNav();\r\n }\r\n if (item.children && item.children.length) {\r\n this.expanded = !this.expanded;\r\n }\r\n }\r\n}\r\n","import { Component, Input, ViewChild } from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { SocialUser } from \"angularx-social-login\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { FirebaseAuthService } from \"common/services/firebase-auth.service\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { StoreUserService } from \"common/services/store/storeUser.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { BsModalRef, ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { first } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"app-social-login\",\r\n templateUrl: \"./social-login.component.html\",\r\n styleUrls: [\"./social-login.component.css\"],\r\n})\r\nexport class SocialLoginComponent {\r\n @Input() userType: string;\r\n\r\n loading = false;\r\n submitted = false;\r\n @Input() returnUrl: string;\r\n\r\n accountForm: FormGroup;\r\n accountSubmitted = false;\r\n socialUser: SocialUser;\r\n validMobileNo = true;\r\n\r\n @ViewChild(\"autoShownModal\", { static: false })\r\n autoShownModal: ModalDirective;\r\n\r\n modalRef: BsModalRef;\r\n\r\n countryCode: string;\r\n countryIsoCode: string;\r\n\r\n hasAccountEmail = false;\r\n hasSocialData = {\r\n firstName: false,\r\n lastName: false,\r\n };\r\n\r\n public phoneInputPadding: string = \"0px\";\r\n\r\n constantConfig = constEnv;\r\n\r\n constructor(\r\n private alert: AlertService,\r\n private formBuilder: FormBuilder,\r\n private langService: LanguageService,\r\n private isLoadingService: IsLoadingService,\r\n private customerService: CustomerService,\r\n private storeService: StoreUserService,\r\n private firebaseAuthService: FirebaseAuthService,\r\n private titleService: TitleService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.createAccountForm();\r\n }\r\n\r\n userTypeObject() {\r\n if (this.userType === \"store\") {\r\n return this.storeService;\r\n } else if (this.userType === \"customer\") {\r\n return this.customerService;\r\n }\r\n return;\r\n }\r\n\r\n createAccountForm() {\r\n this.accountForm = this.formBuilder.group({\r\n phone: [\"\", Validators.required],\r\n phoneCode: this.countryCode,\r\n email: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.pattern(\r\n \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,4}$\"\r\n ),\r\n ])\r\n ),\r\n firstName: new FormControl(\"\", Validators.compose([Validators.required])),\r\n lastName: new FormControl(\"\", Validators.compose([Validators.required])),\r\n image: new FormControl(\"\"),\r\n socialId: new FormControl(\"\"),\r\n socialType: new FormControl(\"\"),\r\n terms: [\"\", Validators.required],\r\n });\r\n }\r\n\r\n get a() {\r\n return this.accountForm.controls;\r\n }\r\n\r\n checkSocialLogin(socialUser) {\r\n const socialType = socialUser.provider.toLowerCase();\r\n const socialId = socialUser.id;\r\n const socialEmail =\r\n typeof socialUser.email !== \"undefined\" ? socialUser.email : \"\";\r\n\r\n this.isLoadingService.add();\r\n // this.authService.signOut();\r\n this.userTypeObject()\r\n .checkSocialLogin(socialId, socialType, socialEmail)\r\n .subscribe(\r\n (response) => {\r\n if (response[\"status\"] !== true) {\r\n this.setAccountRegister(socialUser);\r\n this.isLoadingService.remove();\r\n this.autoShownModal.show();\r\n } else {\r\n const userData = response[\"data\"];\r\n this.isLoadingService.add();\r\n if (\r\n this.langService.getCurrentLanguage() !== userData.userLanguage\r\n ) {\r\n this.langService.changeLanguage(userData.userLanguage);\r\n }\r\n\r\n this.userTypeObject()\r\n .getProfile()\r\n .pipe(first())\r\n .subscribe(\r\n (profile) => {\r\n // this.authService.signOut();\r\n // this.router.navigate([this.returnUrl]);\r\n const redirectURL = this.returnUrl;\r\n setTimeout(() => {\r\n // this.authService.signOut();\r\n window.location.href = redirectURL;\r\n }, 1000);\r\n },\r\n (err) => {\r\n // this.alertService.error(err.error.message);\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n this.setAccountRegister(socialUser);\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n setAccountRegister(socialUser) {\r\n const firstName =\r\n typeof socialUser.firstName !== \"undefined\"\r\n ? socialUser.firstName.trim()\r\n : \"\";\r\n this.accountForm.get(\"firstName\").setValue(firstName.trim());\r\n const lastName =\r\n typeof socialUser.lastName !== \"undefined\"\r\n ? socialUser.lastName.trim()\r\n : \"\";\r\n this.accountForm.get(\"lastName\").setValue(lastName.trim());\r\n const photoUrl =\r\n typeof socialUser.photoUrl !== \"undefined\" ? socialUser.photoUrl : \"\";\r\n this.accountForm.get(\"image\").setValue(photoUrl.trim());\r\n const email =\r\n typeof socialUser.email !== \"undefined\" ? socialUser.email : \"\";\r\n this.hasAccountEmail = email !== \"\" ? true : false;\r\n this.hasSocialData.firstName = firstName !== \"\" ? true : false;\r\n this.hasSocialData.lastName = lastName !== \"\" ? true : false;\r\n this.accountForm.get(\"email\").setValue(email.trim());\r\n this.accountForm.get(\"socialId\").setValue(socialUser.id);\r\n this.accountForm.get(\"socialType\").setValue(socialUser.provider);\r\n this.phoneInputPadding = \"95px\";\r\n this.autoShownModal.show();\r\n }\r\n\r\n getAccountErrorEmail() {\r\n return this.accountForm.get(\"email\").hasError(\"required\")\r\n ? \"\"\r\n : this.accountForm.get(\"email\").hasError(\"pattern\")\r\n ? // ? this.titleService.getTranslatedString(\"EmailInValid\")\r\n \"EmailInValid\"\r\n : \"\";\r\n }\r\n\r\n hasError(obj) {\r\n this.validMobileNo = obj;\r\n }\r\n\r\n onCountryChange(obj) {\r\n this.countryCode = obj.dialCode;\r\n this.countryIsoCode = obj.iso2;\r\n }\r\n\r\n telInputObject(obj) {\r\n const countryData = obj.getSelectedCountryData();\r\n this.countryCode = countryData.dialCode;\r\n this.countryIsoCode = countryData.iso2;\r\n }\r\n\r\n signInWithGoogle() {\r\n const providerId = this.firebaseAuthService.providerType[\"GOOGLE\"];\r\n this.isLoadingService.add();\r\n this.firebaseAuthService.GoogleAuth().subscribe({\r\n next: (res) => {\r\n // console.log(\"Login successful:\", res.user.toJSON());\r\n this.setSocialUser(res, providerId);\r\n this.isLoadingService.remove();\r\n this.checkSocialLogin(this.socialUser);\r\n },\r\n error: (err) => {\r\n console.error(\"Login failed:\", err.message);\r\n this.isLoadingService.remove();\r\n },\r\n complete() {\r\n if (this.isLoading$) {\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n });\r\n }\r\n\r\n signInWithFB(): void {\r\n this.isLoadingService.add();\r\n const providerId = this.firebaseAuthService.providerType[\"FB\"];\r\n this.firebaseAuthService.FacebookAuth().subscribe({\r\n next: (res) => {\r\n console.log(\"Login successful:\", res);\r\n this.setSocialUser(res, providerId);\r\n this.isLoadingService.remove();\r\n this.checkSocialLogin(this.socialUser);\r\n },\r\n error: (err) => {\r\n console.error(\"Login failed:\", err.message);\r\n this.isLoadingService.remove();\r\n },\r\n complete() {\r\n if (this.isLoading$) {\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n });\r\n }\r\n\r\n signInWithApple(): void {\r\n this.isLoadingService.add();\r\n const providerId = this.firebaseAuthService.providerType[\"APPLE\"];\r\n this.firebaseAuthService.AppleAuth().subscribe({\r\n next: (res) => {\r\n console.log(\"Login successful:\", res);\r\n this.setSocialUser(res, providerId);\r\n this.isLoadingService.remove();\r\n this.checkSocialLogin(this.socialUser);\r\n },\r\n error: (err) => {\r\n console.error(\"Login failed:\", err.message);\r\n this.isLoadingService.remove();\r\n },\r\n complete() {\r\n if (this.isLoading$) {\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n });\r\n }\r\n\r\n setSocialUser(user: any, providerId: string) {\r\n const additionalUserInfo = user.additionalUserInfo;\r\n const userProfile = additionalUserInfo.profile;\r\n const credentials = additionalUserInfo.credential ?? user.credential;\r\n\r\n let photoUrl = userProfile?.picture ?? \"\";\r\n if (providerId === this.firebaseAuthService.providerType[\"FB\"]) {\r\n if (typeof photoUrl === \"object\") {\r\n photoUrl = photoUrl?.data?.url;\r\n }\r\n }\r\n\r\n this.socialUser = {\r\n provider: providerId,\r\n id: userProfile.id ?? \"\",\r\n email: userProfile?.email,\r\n name: userProfile?.name ?? \"\",\r\n photoUrl: photoUrl,\r\n firstName: userProfile?.given_name\r\n ? userProfile?.given_name\r\n : userProfile?.first_name\r\n ? userProfile?.first_name\r\n : \"\",\r\n lastName: userProfile?.family_name\r\n ? userProfile?.family_name\r\n : userProfile?.last_name\r\n ? userProfile?.last_name\r\n : \"\",\r\n authToken: credentials?.accessToken ?? \"\",\r\n idToken: credentials?.idToken ?? \"\",\r\n authorizationCode: \"\",\r\n };\r\n\r\n // console.log(\"social User:\", this.socialUser);\r\n }\r\n\r\n onAccountSubmit() {\r\n this.accountSubmitted = true;\r\n\r\n if (this.accountForm.invalid) {\r\n return;\r\n }\r\n\r\n if (!this.validMobileNo) {\r\n return;\r\n }\r\n\r\n this.accountForm.value.phoneCode = \"+\" + this.countryCode;\r\n this.isLoadingService.add();\r\n this.userTypeObject()\r\n .socialLogin(this.accountForm.value)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n // console.log(data);\r\n // this.alertService.success(data['message']);\r\n const userData = data[\"data\"];\r\n\r\n if (this.langService.getCurrentLanguage() !== userData.userLanguage) {\r\n this.langService.changeLanguage(userData.userLanguage);\r\n }\r\n\r\n this.userTypeObject()\r\n .getProfile()\r\n .pipe(first())\r\n .subscribe(\r\n (profile) => {\r\n // this.router.navigate([this.returnUrl]);\r\n const redirectURL = this.returnUrl;\r\n setTimeout(() => {\r\n window.location.href = redirectURL;\r\n this.accountSubmitted = false;\r\n this.accountForm.reset();\r\n }, 1000);\r\n },\r\n (err) => {\r\n this.alert.danger(err.error.message);\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n\r\n // this.router.navigate([`${this.constantConfig.STORE_URL}/login`]);\r\n },\r\n (err) => {\r\n // console.log(err);\r\n const msg = typeof err.error !== \"undefined\" ? err.error.message : \"\";\r\n if (msg) {\r\n this.alert.danger(msg);\r\n // this.alert.error(msg);\r\n }\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n Router,\r\n CanActivate,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n} from \"@angular/router\";\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class AuthGuard implements CanActivate {\r\n config = constEnv;\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private alertService: AlertService\r\n ) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser) {\r\n // authorised so return true\r\n const currentUserDetail = currentUser.userdetails;\r\n // console.log(currentUserDetail);\r\n const userType = currentUserDetail.userType;\r\n\r\n let redirectUrl = \"\";\r\n if (state.url.indexOf(userType) === -1) {\r\n switch (userType) {\r\n case \"driver\":\r\n redirectUrl = this.config.DRIVER_URL + \"/dashboard\";\r\n break;\r\n case \"store\":\r\n redirectUrl = this.config.STORE_URL + \"/dashboard\";\r\n break;\r\n case \"designer\":\r\n window.location.href =\r\n this.config.deliveryCompanyActionUrl + \"/DesignerProfile/View\";\r\n // redirectUrl = this.config.deliveryCompanyActionUrl;\r\n break;\r\n default:\r\n redirectUrl = this.config.BASE_URL;\r\n break;\r\n }\r\n\r\n this.router.navigate([`/${redirectUrl}`]);\r\n }\r\n\r\n if (\r\n currentUserDetail.isFirstimeLogin &&\r\n state.url.indexOf(\r\n `${this.config.STORE_URL}/settings/change-password`\r\n ) == -1\r\n ) {\r\n if (userType == \"store\") {\r\n redirectUrl = `${this.config.STORE_URL}/settings/change-password`;\r\n this.alertService.danger(\"Please change your password first.\");\r\n this.router.navigate([`/${redirectUrl}`]);\r\n return false;\r\n }\r\n }\r\n\r\n if (\r\n currentUserDetail.isFirstimeLogin &&\r\n state.url.indexOf(`${this.config.CUSTOMER_URL}/change-password`) == -1\r\n ) {\r\n if (userType == \"customer\") {\r\n redirectUrl = `${this.config.CUSTOMER_URL}/change-password`;\r\n this.alertService.danger(\"Please change your password first.\");\r\n this.router.navigate([`/${redirectUrl}`]);\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n let myBaseURL = \"\";\r\n if (state.url.indexOf(this.config.storeEndPoint) > -1) {\r\n myBaseURL = this.config.STORE_URL;\r\n } else if (state.url.indexOf(this.config.driverEndPoint) > -1) {\r\n myBaseURL = this.config.DRIVER_URL;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n this.router.navigate([`/${myBaseURL}/login`], {\r\n queryParams: { returnUrl: state.url },\r\n });\r\n return false;\r\n }\r\n}\r\n","import { AbstractControl, ValidatorFn } from \"@angular/forms\";\r\nexport class CustomValidator {\r\n static MatchPassword(control: AbstractControl) {\r\n const password = control.get(\"newPassword\").value;\r\n const confirmPassword = control.get(\"confirmPassword\").value;\r\n if (password !== confirmPassword) {\r\n control.get(\"confirmPassword\").setErrors({ confirmPassword: true });\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n static CheckTargetAmount(control: AbstractControl) {\r\n const offerDiscount = parseFloat(control.get(\"discount\").value);\r\n const targetAmount = parseFloat(control.get(\"targetAmount\").value);\r\n const offerType = control.get(\"discountUnit\").value;\r\n\r\n if (offerType === \"Flat\") {\r\n if (targetAmount <= offerDiscount) {\r\n control.get(\"targetAmount\").setErrors({ targetAmountLess: true });\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n if (targetAmount >= 0) {\r\n control.get(\"targetAmount\").setErrors(null);\r\n }\r\n return null;\r\n }\r\n }\r\n\r\n static checkTerms(control: AbstractControl) {\r\n const checkterms = control.get(\"terms\").value;\r\n\r\n if (!checkterms) {\r\n control.get(\"terms\").setErrors({ checkTerms: true });\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n static checkDiscount(control: AbstractControl) {\r\n const discount = control.get(\"discount\").value;\r\n const discountUnit = control.get(\"discountUnit\").value;\r\n\r\n if (discountUnit === \"Per\") {\r\n if (discount <= 0 || discount >= 99) {\r\n control.get(\"discount\").setErrors({ discountPer: true });\r\n }\r\n } else if (discountUnit === \"Flat\") {\r\n if (discount <= 0) {\r\n control.get(\"discount\").setErrors({ discountFlat: true });\r\n }\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n static checkPotentialListDiscount(control: AbstractControl) {\r\n const discount = control.get(\"discount\").value;\r\n const discountUnit = control.get(\"discountUnit\").value;\r\n const productPrice = control.get(\"productPrice\").value;\r\n\r\n if (discountUnit === \"Per\") {\r\n if (discount <= 0 || discount >= 99) {\r\n control.get(\"discount\").setErrors({ discountPer: true });\r\n } else {\r\n return null;\r\n }\r\n } else if (discountUnit === \"Flat\") {\r\n if (discount <= 0) {\r\n control.get(\"discount\").setErrors({ discountFlat: true });\r\n } else if (discount > productPrice - 1) {\r\n control.get(\"discount\").setErrors({ discountFlatMax: true });\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n static OnlyZeroNotAllowed(fieldName: string): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n const fieldValue = control.get(fieldName).value;\r\n if (fieldValue !== \"\") {\r\n if (fieldValue > 0) {\r\n return null;\r\n } else {\r\n control.get(fieldName).setErrors({ zeroError: true });\r\n return { zeroError: { value: control.value } };\r\n }\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n static checkMaxValueFromMinValue(\r\n minfieldName: string,\r\n maxFiledName: string\r\n ): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n let minFieldValue = control.get(minfieldName).value;\r\n let maxFieldValue = control.get(maxFiledName).value;\r\n\r\n if (minFieldValue !== \"\" && maxFieldValue !== \"\") {\r\n minFieldValue = parseFloat(minFieldValue);\r\n maxFieldValue = parseFloat(maxFieldValue);\r\n if (minFieldValue > 0 && maxFieldValue > 0) {\r\n if (minFieldValue > maxFieldValue) {\r\n control.get(maxFiledName).setErrors({ maxValueError: true });\r\n return { maxValueError: { value: control.value } };\r\n } else {\r\n control.get(maxFiledName).setErrors(null);\r\n return null;\r\n }\r\n } else {\r\n // control.get(maxFiledName).setErrors(null);\r\n return null;\r\n }\r\n }\r\n\r\n return null;\r\n };\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n} from \"@angular/common/http\";\r\nimport { Observable, throwError } from \"rxjs\";\r\nimport { catchError } from \"rxjs/operators\";\r\n\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) {}\r\n\r\n intercept(\r\n request: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n return next.handle(request).pipe(\r\n catchError((err) => {\r\n if (err.status === 401) {\r\n // auto logout if 401 response returned from api\r\n this.authenticationService.logout();\r\n location.reload();\r\n }\r\n\r\n // const error = err.error.Message || err.statusText;\r\n return throwError(err);\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { constEnv } from 'common/constants.env';\r\n\r\nimport { AuthenticationService } from 'common/services/authentication.service';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) {}\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // add authorization header with jwt token if available\r\n const currentUser = this.authenticationService.currentUserValue; \r\n if (currentUser && currentUser.token) {\r\n if(request.url.indexOf(constEnv.apiBaseURL) !== -1){\r\n \r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${currentUser.token}`\r\n }\r\n });\r\n \r\n } \r\n }\r\n\r\n return next.handle(request);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AuthenticationService } from 'common/services/authentication.service';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n\r\nexport class RoleGuard implements CanActivate {\r\n config = constEnv;\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n ) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser) {\r\n \r\n const currentUserDetail = currentUser.userdetails;\r\n\r\n const userType = currentUserDetail.userType;\r\n\r\n let redirectUrl = '';\r\n if ( state.url.indexOf( userType ) === -1 ) {\r\n switch (userType) {\r\n case 'driver' : redirectUrl = this.config.DRIVER_URL + '/dashboard'; break;\r\n case 'store' : \r\n redirectUrl = this.config.STORE_URL + '/dashboard'; \r\n case 'designer' : \r\n // this.router.navigate([this.config.deliveryCompanyActionUrl + '/home']);\r\n // redirectUrl = this.config.deliveryCompanyActionUrl + '/home'; \r\n break;\r\n // default : redirectUrl = this.config.BASE_URL; break;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","export class CustomerAddress {\r\n address: string;\r\n addressId: number;\r\n addressTag: string;\r\n city: string;\r\n country: string;\r\n deliveryMessage: string;\r\n emailId: string;\r\n firstName: string;\r\n isDeliverable: boolean;\r\n lastName: string;\r\n location: string;\r\n mobileNo: string;\r\n states: string;\r\n zipCode: string;\r\n \r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}","export class CustomerUser {\r\n cust_id: number;\r\n first_name: string;\r\n last_name: string;\r\n email: string;\r\n phone_code: string;\r\n phone: string;\r\n languageId: number;\r\n language: string;\r\n isShowAboutUs: boolean;\r\n isShowHelpCenter: boolean;\r\n isShowPrivacyPolicy: boolean;\r\n isShowTermsOfUse: boolean;\r\n isShowTrustAndSafety: boolean;\r\n currency: string;\r\n currencyId: number;\r\n profile_image: string\r\n \r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}","import { CustomerAddress } from \"../customers/customerAddress\";\r\nimport { CartItem, KeyValuePair } from \"./cartItem.modal\";\r\n\r\nexport class Cart {\r\n appliedCouponCode: string;\r\n cartMessage: string;\r\n customerAddress: CustomerAddress;\r\n isCheckOut: boolean;\r\n messageToCustomer: string;\r\n myCart: CartItem[];\r\n myCartCalculation: CartCalculation;\r\n offerMessage: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n this.customerAddress = new CustomerAddress().deserialize(\r\n input.customerAddress\r\n );\r\n this.myCart = input.myCart.map((item) => new CartItem().deserialize(item));\r\n return this;\r\n }\r\n}\r\n\r\nexport interface CartCalculation {\r\n calculationDetails: KeyValuePair[];\r\n calculationDetails_New: CalculationDetail[];\r\n currencyCode: string;\r\n customerAddress: CustomerAddress;\r\n deliveryCharges: number;\r\n itemsCount: KeyValuePair;\r\n myCartData: CartItem[];\r\n offerDiscount: number;\r\n packingCharges: number;\r\n assemblyCharges: number;\r\n paymentGatewayCharges: number;\r\n paymentGatewayDetails: PaymentGatewayDetail;\r\n promocodeDiscount: number;\r\n promotionalDiscount: number;\r\n subTotal: number;\r\n tax: number;\r\n taxPer: string;\r\n totalAmount: number;\r\n totalAmountText: string;\r\n totalProductAmount: string;\r\n totalShippment: string;\r\n promocodeText: string;\r\n promocodeId: number;\r\n isPromocodeShow: boolean;\r\n}\r\n\r\nexport interface PaymentGatewayDetail {\r\n authenticationKey: string;\r\n storeID: string;\r\n}\r\n\r\nexport interface CalculationDetail {\r\n key: string;\r\n value: string;\r\n keyColor: string;\r\n valueColor: string;\r\n}\r\n","import { KeyValue } from \"@angular/common\";\r\n\r\nexport class CartItem {\r\n actualDeliveryPlanDate:Date;\r\n additionalPackingCharges: string;\r\n afterDiscountYouSave: string;\r\n allowOutOfStockOrders: boolean;\r\n beforeDiscount: string;\r\n currencyCode: string;\r\n expectedDeliveryDate: Date;\r\n deliveryExpected: string;\r\n deliveryExpectedDate: string;\r\n deliveryExpectedDays: string;\r\n deliveryPlan: DeliveryPlan;\r\n deliveryPlanDate: string;\r\n discount: string;\r\n hasOffer: boolean;\r\n hasRating: boolean;\r\n imageUrl: string;\r\n isActive: boolean;\r\n isDeleted: boolean;\r\n isVariable: boolean;\r\n itemQty: number;\r\n itemStock: string;\r\n itemTypeId: number;\r\n message: string;\r\n offerDiscount: number;\r\n offerType: string;\r\n productId: number;\r\n productName: string;\r\n productOfferAmt: number;\r\n productPrice: number;\r\n productPriceAfterDiscount: number;\r\n productRating: number;\r\n productVariationId: number;\r\n productVariationIsDeleted: boolean;\r\n promocodeDiscount: number;\r\n recordId: number;\r\n status: boolean;\r\n stockQuantity: number;\r\n storeAddress: string;\r\n storeId: number;\r\n storeName: string;\r\n totalRatings: number;\r\n variationId: number;\r\n \r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n\r\nexport interface DeliveryPlan {\r\n date: string;\r\n days: string;\r\n deliveredOn: string;\r\n minDays: number;\r\n orderPreparationPeriod: KeyValuePair;\r\n}\r\n\r\nexport interface KeyValuePair {\r\n key: string;\r\n value: string;\r\n}","import { Deserializable } from \"../product-filter.modal\";\r\nimport { FilterValueModal } from \"./filter-value.modal\";\r\n\r\nexport class FilterAttributeModal extends FilterValueModal {\r\n attributeValues: FilterValueModal[];\r\n \r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n this.attributeValues = input.attributeValues.map(item => new FilterValueModal().deserialize(item));\r\n return this;\r\n }\r\n}\r\n","import { FilterValueModal } from \"./filter-value.modal\";\r\n\r\nexport class FilterBrandModal extends FilterValueModal { \r\n \r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","import { Deserializable } from \"../product-filter.modal\";\r\n\r\nexport class FilterValueModal implements Deserializable {\r\n id: number;\r\n image: string;\r\n name: string;\r\n showImage: boolean;\r\n \r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class HomeBanner {\r\n bannerId: number;\r\n bannerImageUrl: string;\r\n id: number;\r\n redirectionType: string;\r\n status: boolean;\r\n title: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class Payment {\r\n method: string;\r\n trace: string;\r\n order: PaymentOrder;\r\n orderAmt: string;\r\n orderNo: string; // order id db id\r\n orderNumber: string; // order no\r\n paymentIntentId: string;\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n\r\ninterface PaymentOrder {\r\n amount: string;\r\n card: PaymentOrderCard;\r\n cartid: string;\r\n orderID: number;\r\n currency: string;\r\n customer: PaymentOrderCustomer;\r\n description: string;\r\n paymethod: string;\r\n ref: string;\r\n status: PaymentOrderStatus;\r\n test: number;\r\n transaction: PaymentOrderTransaction;\r\n url: string;\r\n}\r\n\r\ninterface PaymentOrderCard {\r\n country: string;\r\n expiry: PaymentOrderCardExpiry;\r\n first6: string;\r\n last4: string;\r\n type: string;\r\n}\r\n\r\ninterface PaymentOrderCardExpiry {\r\n month: number;\r\n year: number;\r\n}\r\n\r\ninterface PaymentOrderCustomer {\r\n address: PaymentOrderCustomerAddress;\r\n email: string;\r\n name: PaymentOrderCustomerName;\r\n}\r\n\r\ninterface PaymentOrderCustomerAddress {\r\n city: string;\r\n country: string;\r\n line1: string;\r\n mobile: string;\r\n}\r\n\r\ninterface PaymentOrderCustomerName {\r\n forenames: string;\r\n surname: string;\r\n}\r\n\r\ninterface PaymentOrderStatus {\r\n code: number;\r\n text: string;\r\n}\r\n\r\ninterface PaymentOrderTransaction {\r\n class: string;\r\n code: string;\r\n date: string;\r\n message: string;\r\n ref: string;\r\n status: string;\r\n type: string;\r\n}\r\n","import { ProductList } from \"./product-list.modal\";\r\n\r\nexport class ProductDetail {\r\n productId: number;\r\n productName: string;\r\n productPrice: number;\r\n productPriceAfterDiscount: number;\r\n\r\n isAssemblyRequired: boolean;\r\n assemblyCharges: number;\r\n assemblyChargesString: string;\r\n\r\n productRating: number;\r\n afterDiscountYouSave: string;\r\n attribute: ProductAttribute[];\r\n boughtTogether: string;\r\n buttonText: string;\r\n buyNow: boolean;\r\n canMoveToCart: boolean;\r\n crossCellProduct: ProductList[];\r\n currencyCode: string;\r\n customerReview: number;\r\n delivery: ProductDelivery;\r\n discount: string;\r\n discountPer: string;\r\n extra: ProductExtra;\r\n freeReturnPolicy: string;\r\n headerText: string;\r\n imageUrl: string[];\r\n inCart: boolean;\r\n inCartQty: number;\r\n isCustomerAddressExists: boolean;\r\n isInstallmentAvailable: boolean;\r\n isSoldIndividual: boolean;\r\n itemStock: string;\r\n itemStockQty: number;\r\n itemTypeId: number;\r\n linkedProduct: ProductList[];\r\n message: string;\r\n offerEndsOn: string;\r\n offerEndsOnDate: Date;\r\n productDesc: string;\r\n productDimensions: Dimension;\r\n\r\n productTagIds: any[];\r\n productVariationId: number;\r\n returnPolicyUrl: string;\r\n similarProducts: string;\r\n sku: string;\r\n\r\n hasLastMinuteDeal: Boolean;\r\n hasIndividualOffer: Boolean;\r\n\r\n specifications: ProductSpecification[];\r\n status: boolean;\r\n storeName: string;\r\n storeId: string;\r\n totalRatings: number;\r\n wishListId: number;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n\r\ninterface ProductAttribute {\r\n attributeId: number;\r\n attributeName: string;\r\n swatcheType: number;\r\n attributeValue: ProductAttributeValue[];\r\n}\r\n\r\ninterface ProductAttributeValue {\r\n id: number;\r\n name: string;\r\n value: string;\r\n disabled: boolean;\r\n selected: boolean;\r\n}\r\n\r\ninterface ProductDelivery {\r\n date: Date;\r\n daysFromNowText: any;\r\n freeShipping: string;\r\n preShipmentText: string;\r\n shippingText: string;\r\n}\r\n\r\nexport interface ProductExtra {\r\n isFragile: string;\r\n isFreeReturnPolicy: string;\r\n isInstallmentAvailable: string;\r\n manufacturingDate: Date | string;\r\n videoURL: string;\r\n warranty: string;\r\n\r\n isReturnable: boolean | string;\r\n returnableText: string;\r\n brandName: string;\r\n}\r\n\r\ninterface Dimension {\r\n height: number;\r\n length: number;\r\n weight: number;\r\n width: number;\r\n processingTime: number;\r\n}\r\n\r\ninterface ProductSpecification {\r\n displayName: string;\r\n displayValue: string;\r\n}\r\n","import { FilterAttributeModal } from \"./filter/filter-attribute.modal\";\r\nimport { FilterBrandModal } from \"./filter/filter-brand.modal\";\r\nimport { FilterValueModal } from \"./filter/filter-value.modal\";\r\n\r\n\r\nexport class ProductFilterModal{\r\n attributes: FilterAttributeModal[];\r\n brands: FilterBrandModal[];\r\n categories: FilterValueModal[];\r\n maxPrice: number;\r\n minPrice: number;\r\n \r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n this.attributes = input.attributes.map(item => new FilterAttributeModal().deserialize(item) );\r\n this.brands = input.brands.map(item => new FilterBrandModal().deserialize(item) );\r\n this.categories = input.categories.map(item => new FilterValueModal().deserialize(item) );\r\n return this;\r\n }\r\n}\r\n\r\nexport interface Deserializable {\r\n deserialize(input: any): this;\r\n }","export class ProductList {\r\n brandName: string;\r\n currencyCode: string;\r\n finalPrice: number;\r\n hasIndividualOffer: boolean;\r\n hasOffer: boolean;\r\n hasRating: boolean;\r\n img_h: number;\r\n img_w: number;\r\n offerDiscount: number;\r\n offerType: string;\r\n productId: number;\r\n productImage: string;\r\n productName: string;\r\n productPrice: number;\r\n productRating: number;\r\n storeName: string;\r\n totalRatings: number;\r\n buyNow: boolean;\r\n isVariableProduct: boolean;\r\n offerEndsOn: string;\r\n offerEndsOnDt: Date;\r\n variationId: number;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class SubCategoryModal {\r\n categoryId: number;\r\n image: string;\r\n isDelivarbleType: boolean;\r\n langCode: string;\r\n langId: number;\r\n status: boolean;\r\n subCategoryId: number;\r\n subCategoryName: string;\r\n \r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","import { DashboardProduct } from 'common/_models/store/dashboard/product';\r\n\r\nexport class Dashboard {\r\n mostReturnProductCount: DashboardProduct[];\r\n orderSalesData: DashboardOrderSalesData[];\r\n orderStatusCounter: any;\r\n orderStatusticsData: DashboardOrderStatCounter;\r\n productCounter: DashboardProductCounter;\r\n productStockCounter: DashboardProduct[];\r\n repeatCustomerCounter: DashboardRepeatCustomerCounter[];\r\n storePromotionsCount: DashboardStorePromotionCount[];\r\n topSellingProductCount: DashboardProduct[];\r\n valuableCustomer: DashboardValuableCustomer[];\r\n furniAgreement: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n this.mostReturnProductCount = input.mostReturnProductCount.map(item => new DashboardProduct().deserialize(item) );\r\n this.productStockCounter = input.productStockCounter.map(item => new DashboardProduct().deserialize(item) );\r\n this.topSellingProductCount = input.topSellingProductCount.map(item => new DashboardProduct().deserialize(item) );\r\n return this;\r\n }\r\n}\r\n\r\ninterface DashboardOrderSalesData {\r\n month: string;\r\n orderCount: number;\r\n}\r\n\r\n// interface DashboardOrderStatusCounter {\r\n// cancelled: number;\r\n// completed: number;\r\n// pending: number;\r\n// processing: number;\r\n// refunded: number;\r\n// total: number;\r\n// }\r\n\r\ninterface DashboardOrderStatCounter {\r\n month: string[];\r\n orderCount: number;\r\n totalEarning: string;\r\n value: number[];\r\n}\r\n\r\ninterface DashboardProductCounter {\r\n active: number;\r\n inActive: number;\r\n total: number;\r\n}\r\n\r\ninterface DashboardRepeatCustomerCounter {\r\n oneTime: number;\r\n repeating: number;\r\n}\r\n\r\ninterface DashboardStorePromotionCount {\r\n couponCode: string;\r\n used: number;\r\n revenue: string;\r\n}\r\n\r\ninterface DashboardValuableCustomer {\r\n first_name: string;\r\n id: number;\r\n orderCount: number;\r\n totalAmount: number;\r\n}\r\n","export class DashboardProduct {\r\n productId: number;\r\n productName: string;\r\n stockQuantity: number;\r\n productCount: number;\r\n \r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class Earnings {\r\n rowNum: number;\r\n totalRows: number;\r\n orderId: number;\r\n orderNo: string;\r\n userTypeId: number;\r\n orderDate: string;\r\n amount: number;\r\n isSettelled: boolean;\r\n orderStatus: string;\r\n statusColor: string;\r\n backgroundColor: string;\r\n totalItem: number;\r\n balance: number;\r\n type: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class HelpSupport {\r\n\r\n acceptedDate: string;\r\n backgroundColor: string;\r\n customerAddress: string;\r\n customerEmail: string;\r\n customerImage: string;\r\n customerName: string;\r\n customerPhone: string;\r\n \r\n id: number;\r\n isAccepted: boolean;\r\n isClosed: boolean;\r\n itemStatus: string;\r\n lastUpdated: string;\r\n productImage: string;\r\n productName: string;\r\n statusColor: string;\r\n statusName: string;\r\n subject: string;\r\n ticketId: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class Notification {\r\n amount: string;\r\n deviceToken: string;\r\n deviceType: number;\r\n isRead: boolean;\r\n message: string;\r\n name: string;\r\n notificationId: number;\r\n notificationType: string;\r\n refId: number;\r\n sendDate: string;\r\n title: string;\r\n date: Date | string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class Offers {\r\n\r\n storeDiscountId: number;\r\n customerId: number;\r\n name: string;\r\n discountType: number;\r\n usePercentage: boolean;\r\n discountPercentage: string;\r\n discountAmount: string;\r\n requireCouponCode: boolean;\r\n couponCode: string;\r\n startDate: string;\r\n endDate: string;\r\n discountLimitation: number;\r\n discountLimitationValue: number;\r\n maxDiscountQuantity: number;\r\n used: number;\r\n status: boolean;\r\n isForNewUser: boolean;\r\n minOrderAmount: number;\r\n maxAmount: number;\r\n currencyCode: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class Order {\r\n customerAddress: string;\r\n customerId: number;\r\n customerImageUrl: string;\r\n customerName: string;\r\n deliveryType: string;\r\n discount: number;\r\n isSelfPickUp: boolean;\r\n orderDate: string;\r\n orderId: number;\r\n orderNo: string;\r\n paymentType: string;\r\n storeEarning: number;\r\n totalProduct: number;\r\n totalProductPrice: string;\r\n\r\n customerPhone?: string;\r\n notes?: string;\r\n statusId?: number;\r\n statusName?: string;\r\n finalTotal?: string;\r\n finalTotalWOCC?: number;\r\n subTotal?: string;\r\n deliveryCharge?: string;\r\n adminEarning?: number;\r\n paymentGatewayCharges?: number;\r\n patchDtos: PatchInfo[];\r\n myCartCalulationDto: OrderCalculation;\r\n calculationDetails_New: CalculationDetail[];\r\n\r\n offerDiscount: number;\r\n storeDeliveryCharge: number;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n\r\ninterface PatchInfo {\r\n patchName: string;\r\n date: string;\r\n itemList: PatchItem[];\r\n}\r\n\r\ninterface PatchItem {\r\n orderId: number;\r\n productName: string;\r\n qty: number;\r\n price: string;\r\n finalPrice: number;\r\n productId: number;\r\n productImageUrl: string;\r\n totalPrice: string;\r\n orderDetailId: number;\r\n orderNo: string;\r\n storeName: string;\r\n storeAddress: string;\r\n customerAddress: string;\r\n storeId: number;\r\n langId: number;\r\n statusId: number;\r\n backgroundColor: string;\r\n statusColor: string;\r\n statusName: string;\r\n deliverDate: string;\r\n deliveryPlanDate: string;\r\n}\r\n\r\ninterface OrderCalculation {\r\n currencyCode: string;\r\n deliveryCharges: number;\r\n offerDiscount: number;\r\n packingCharges: number;\r\n assemblyCharge: number;\r\n paymentGatewayCharges: number;\r\n promotionalDiscount: number;\r\n subTotal: number;\r\n tax: number;\r\n totalAmount: number;\r\n differDeliveryCharge: number;\r\n siteEarning: number;\r\n}\r\n\r\nexport interface CalculationDetail {\r\n key: string;\r\n value: string;\r\n keyColor: string;\r\n valueColor: string;\r\n}\r\n","export class Product {\r\n public productId: number;\r\n public productName: string;\r\n public serviceTypeId: number;\r\n public categoryName?: string;\r\n public categoryId?: number;\r\n public subCategoryId?: number;\r\n public productImage: string;\r\n public productDesc?: string;\r\n public status: boolean;\r\n public isPublish: boolean;\r\n public productQty: number;\r\n public productPrice: number;\r\n public productType: number;\r\n public brandId?: number;\r\n public itemTagId?: number;\r\n public itemTypeId?: number;\r\n public productTagIds?: number[];\r\n public productOfferAmt?: number;\r\n public videoURL?: string;\r\n\r\n public themeId?: number;\r\n public colorPaletteId?: number;\r\n public isFragile?: boolean;\r\n public isReturnable?: boolean;\r\n\r\n public isAssemblyRequired?: boolean;\r\n public assemblyCharges?: number;\r\n\r\n public primaryImage?: string;\r\n public isPrimaryImage?: boolean;\r\n public secondaryImage?: SecondaryImage[];\r\n\r\n topViewImage: string;\r\n topViewImageId: number;\r\n\r\n augmentedViewImage: string;\r\n augmentedViewImageId: number;\r\n\r\n modelJsonViewImage: string;\r\n modelJsonViewImageId: number;\r\n\r\n public productDimensions: ProductDimension;\r\n public inventory?: Inventory;\r\n public shipping?: Shipping;\r\n public linkedProducts?: LinkedProducts;\r\n public extra?: Extra;\r\n public productLanguages?: ProductLanguages[];\r\n public specification?: ProductSpecification[];\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n\r\n getStatus() {\r\n return this.status === true ? \"Active\" : \"Inactive\";\r\n }\r\n}\r\n\r\nexport interface Inventory {\r\n sku: string;\r\n qty: number;\r\n productStock: boolean;\r\n soldIndividually: boolean;\r\n}\r\n\r\nexport interface ProductDimension {\r\n weight: number;\r\n length: number;\r\n width: number;\r\n height: number;\r\n}\r\n\r\nexport interface Shipping {\r\n processingTime: number;\r\n weight: number;\r\n length: number;\r\n width: number;\r\n height: number;\r\n}\r\n\r\nexport interface ProductLinked {\r\n key: number;\r\n value: string;\r\n}\r\n\r\nexport interface LinkedProducts {\r\n recommendedProduct: ProductLinked[];\r\n crossSellProduct: ProductLinked[];\r\n}\r\n\r\nexport interface Extra {\r\n manufacturingDate: string;\r\n warranty: number;\r\n isFreeReturnPolicy: boolean;\r\n isInstallmentAvailable: boolean;\r\n additionalPackingCharges: number;\r\n spaceTypeId: number;\r\n}\r\n\r\nexport interface ProductLanguages {\r\n productId: number;\r\n languageId: number;\r\n productName: string;\r\n productDesc: string;\r\n}\r\n\r\nexport interface SecondaryImage {\r\n key: number;\r\n value: string;\r\n}\r\n\r\nexport interface ProductSpecification {\r\n id: number;\r\n specificationId: number;\r\n productId: number;\r\n productSpecification: string;\r\n productSpecificationValueIds: string;\r\n productSpecificationValues: string;\r\n specNameLangId: number;\r\n}\r\n","export class ProductBrand {\r\n id: number;\r\n name: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class ProductCategory {\r\n catId: number;\r\n catName: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class ProductLabel {\r\n itemTagId: number;\r\n itemTagName: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class ProductServiceType {\r\n id: number;\r\n name: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class ProductTag {\r\n id: number;\r\n name: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class ProductTheme {\r\n id: number;\r\n name: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class ProductType {\r\n itemTypeId: number;\r\n itemTypeName: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class ProductVariation {\r\n id: number;\r\n name: string;\r\n sku: string;\r\n productId: number;\r\n stockQuantity: number;\r\n overriddenPrice: number;\r\n overriddenOffer: number;\r\n filename: string;\r\n allowOutOfStockOrders: boolean;\r\n attributeList: AttributeList[];\r\n attValueList: AttributeValueList[];\r\n\r\n topViewImage: string;\r\n topViewImageId: number;\r\n\r\n augmentedViewImage: string;\r\n augmentedViewImageId: number;\r\n \r\n modelJsonViewImage: string;\r\n modelJsonViewImageId: number;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n\r\nexport interface AttributeList {\r\n id: number;\r\n attributeName: string;\r\n selectedId: number;\r\n attributeValueList: AttributeValueList[];\r\n}\r\n\r\nexport interface AttributeValueList {\r\n attributeValueId: number;\r\n attributeValueName: string;\r\n}\r\n","export class ReturnRequest {\r\n id: number;\r\n ticketId: string;\r\n attachment: string;\r\n createdDate: string;\r\n customerName: string;\r\n customerEmail: string;\r\n customerPhone: string;\r\n statusName: string;\r\n statusColor: string;\r\n backgroundColor: string;\r\n itemReturnReason: string;\r\n description: string;\r\n orderTotal: string;\r\n productName: string;\r\n productPrice: string;\r\n productImage: string;\r\n totalItem: number;\r\n isAccepted: boolean;\r\n isClosed: boolean;\r\n storeName: string;\r\n orderNo: string;\r\n orderId: number;\r\n orderBaseDetailId: number;\r\n returnAmount: number;\r\n currencyCode: string;\r\n reason: string;\r\n pickupDate: string;\r\n customerFeedback: string;\r\n isReplaced: boolean;\r\n driverName: string;\r\n driverEmail: string;\r\n driverPhone: string;\r\n driverDetails: any[];\r\n isDriverAssigned: boolean;\r\n deliveryCompnyName: string;\r\n storeId: number;\r\n productId: number;\r\n productVariationId: number;\r\n isInProgress: boolean;\r\n customerId: number;\r\n customerLangId: number;\r\n storeLangId: number;\r\n storeEmail: string;\r\n statusId: number;\r\n returnStatusId: number;\r\n returnStatusName: string;\r\n deliveryCompnyId: number;\r\n driverId: number;\r\n deliveryHandleId: number;\r\n isPickupByStore: boolean;\r\n pickupCharge: number;\r\n returnItem: number;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class StoreDriver {\r\n id: number;\r\n firstName: string;\r\n email: string;\r\n phoneCode: string;\r\n phone: string;\r\n profileImage: string;\r\n lastName: string;\r\n isProfileVerified: boolean;\r\n langId: number;\r\n langName?: string;\r\n driverDocument?: StoreDriverDocument[];\r\n address: StoreDriverAddress;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n\r\n getFullName() {\r\n return this.firstName + \" \" + this.lastName;\r\n }\r\n\r\n getPhoneNumber() {\r\n return this.phoneCode + \" \" + this.phone;\r\n }\r\n}\r\n\r\nexport interface StoreDriverAddress {\r\n addressLine: string;\r\n addressLine1: string;\r\n addressLine2: string;\r\n landmark: string;\r\n location: string;\r\n latitude: number;\r\n longitude: number;\r\n countryId: number;\r\n countryName: string;\r\n stateId: number;\r\n stateName: string;\r\n cityId: number;\r\n cityName: string;\r\n zipCode: string;\r\n}\r\n\r\nexport interface StoreDriverDocument {\r\n docMgmtId: number;\r\n documentName: string;\r\n isExpiryDateRequired: boolean;\r\n id: number;\r\n driverId: number;\r\n uploadDocumentName: string;\r\n isVerified: boolean;\r\n isRejected: boolean;\r\n docExpiryDate: string;\r\n}\r\n","export class VariationInventory {\r\n name: string;\r\n stockQuantity: number;\r\n productId: number;\r\n productVariationId: number;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","export class Vehicle {\r\n\r\n driverId: number;\r\n driverName: string;\r\n status: boolean;\r\n storeName: string;\r\n vehicleColor: string;\r\n vehicleId: number;\r\n vehicleNumber: string;\r\n vehicleTypeId: number;\r\n vehicleTypeName: string;\r\n year: number;\r\n makeId: number;\r\n modelId: number;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n\r\nexport interface VehicleType {\r\n vehicleType: string;\r\n vehicleTypeId: number;\r\n}\r\n\r\nexport interface VehicleMake {\r\n makeId: number;\r\n makeName: string;\r\n}\r\n\r\nexport interface vehicleModel {\r\n modelId: number;\r\n modelName: string;\r\n}\r\n","export class Wishlist {\r\n\r\n productId: number;\r\n productName: string;\r\n productPrice: number;\r\n productImage: string;\r\n currencyCode: string;\r\n hasOffer: boolean;\r\n whishlistId: number;\r\n productVaritionId: number;\r\n jobName: string;\r\n customerName: string;\r\n\r\n deserialize(input: any): this {\r\n Object.assign(this, input);\r\n return this;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { CurrencyPipe } from \"@angular/common\";\r\n\r\n@Pipe({ name: \"mycurrency\" })\r\nexport class MyCurrencyPipe implements PipeTransform {\r\n transform(\r\n num: any,\r\n currencycode: string,\r\n showsymbol: boolean = true,\r\n digits: string = \"\"\r\n ): any {\r\n let value = new CurrencyPipe(navigator.language).transform(\r\n num,\r\n currencycode,\r\n showsymbol,\r\n digits\r\n );\r\n //console.log(value, num, currencycode, showsymbol, digits);\r\n if (value) {\r\n let firstdigit = value.match(/\\d/);\r\n let symbol = value.slice(0, firstdigit.index);\r\n let amount = value.slice(firstdigit.index);\r\n return symbol + \" \" + amount;\r\n // return currencycode + \" \" + amount;\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { MyCurrencyPipe } from \"./mycurrency.pipe\";\r\n\r\n@NgModule({\r\n declarations: [MyCurrencyPipe],\r\n imports: [],\r\n exports: [MyCurrencyPipe],\r\n})\r\nexport class PipeModule {}\r\n","export const constEnv = {\r\n projectTitle: \"Vogue Veneer\",\r\n storeEndPoint: \"store\",\r\n driverEndPoint: \"driver\",\r\n customerEndPoint: \"customer\",\r\n deliveryCompanyEndPoint: \"delivery-company\",\r\n designerEndPoint: \"designer\",\r\n defaultLang: \"en-US\",\r\n defaultCurrency: \"USD\",\r\n\r\n // googleMapAPIKey: \"AIzaSyCLuiYBcHcOAFeskeqoWgwqJd5MxDuG4WU\",\r\n googleMapAPIKey: \"AIzaSyDfuPhBtkeJMctHCVpSisk67EOjsCyX_7U\",\r\n googleSiteKey: \"6Lfg8qsqAAAAAKzFKfyBDxmR5xsoiepUUc54vAHi\",\r\n googleAuthClientId:\r\n \"289261855819-hvc5shnsnr6ntgmeqrqll68btrnggc76.apps.googleusercontent.com\",\r\n facebookAppId: \"931366767692724\",\r\n // facebookAppId: \"201400718198768\",\r\n\r\n firebaseConfig: {\r\n apiKey: \"AIzaSyBn2FppP4VavPsayxKcEDDiqoZaDQNSBN0\",\r\n authDomain: \"vogue-veneer.firebaseapp.com\",\r\n projectId: \"vogue-veneer\",\r\n storageBucket: \"vogue-veneer.firebasestorage.app\",\r\n messagingSenderId: \"1026248185446\",\r\n appId: \"1:1026248185446:web:5515d5fff8c6c110afbfa7\",\r\n measurementId: \"G-SG3DF5X7PR\",\r\n },\r\n\r\n leafletEsriApiKey:\r\n \"AAPTxy8BH1VEsoebNVZXo8HurO9dedh1I92_4smG-Iqr8Yf7djsblkDv6BvusOgrMtJOqa47XKvigbG2a9lTZGDurCKb4R94o7c8p3VqRRhnqEzv_eyQXc1o1knTIxnuriKVesA4ULmu5zsIFHU284Vi_eji6QKWjUZFJbg5ouq_2hB1bOyE_R_S3qfFPG_hU3rm3KBbeDPEeKWSZBW08vUS9HB61RvT2rVW8dB4dGF9wDE.AT1_x1fa8WfN\",\r\n\r\n defaultLatitude: 51.673858,\r\n defaultLongitude: 7.815982,\r\n defaultZoom: 8,\r\n\r\n calanderTheme: \"theme-default\",\r\n\r\n BASE_URL: \"/\",\r\n STORE_URL: `/store`,\r\n DRIVER_URL: `/driver`,\r\n CUSTOMER_URL: `/customer`,\r\n DELIVERY_COMPANY_URL: `/delivery-company`,\r\n DESIGNER_URL: `/designer`,\r\n\r\n ASSETS_PATH: \"./assets/\",\r\n IMAGE_PATH: `./assets/images/`,\r\n LOGO_PATH: `./assets/images/logo/logo.png`,\r\n LOGO_SVG_PATH: `./assets/images/logo/vogue-logo.svg`,\r\n\r\n apiBaseURL: \"https://vogueveneer.com/service/\",\r\n // apiBaseURL: \"http://4.157.247.202:3024/service/\",\r\n apiLoginURL: `https://vogueveneer.com/service/token`,\r\n apiURL: `https://vogueveneer.com/service/api`,\r\n apiStoreURL: `https://vogueveneer.com/service/api/store`,\r\n apiDriverURL: `https://vogueveneer.com/service/api/driver`,\r\n apiCustomerURL: `https://vogueveneer.com/service/api/customer`,\r\n apiDeliveryCompanyURL: `https://vogueveneer.com/service/api/deliverycompany`,\r\n apiDesignerURL: `https://vogueveneer.com/service/api/Designer`,\r\n apiSiteURL: `https://vogueveneer.com/service/api/customerweb`,\r\n apiShopingCartURL: `https://vogueveneer.com/service/api/ShoppingCart`,\r\n\r\n deliveryCompanyActionUrl: \"https://vogueveneer.com/admin\",\r\n threeViewUrl: \"https://vogueveneer.com/floor_plan\",\r\n chatBotBaseUrl: \"https://vogueveneer.com/service/\",\r\n\r\n};\r\n","import { Directive, ElementRef, HostListener, Renderer2 } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[appDropdownToggle]\",\r\n})\r\nexport class DropdownToggleDirective {\r\n constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n onClick(event: Event): void {\r\n event.preventDefault();\r\n console.log(\"object\");\r\n\r\n setTimeout(() => {\r\n const $el = this.el.nativeElement;\r\n const $parent = this.findClosestParent($el, \".dropdown-menu\");\r\n console.log($parent);\r\n // Toggle class on the clicked element\r\n this.renderer.addClass($el, \"active-dropdown\");\r\n\r\n // Close other dropdowns if necessary\r\n if (!$el.nextElementSibling.classList.contains(\"show\")) {\r\n // $el\r\n // .closest(\".dropdown-menu\")\r\n // .querySelectorAll(\".show\")\r\n // .forEach((element: HTMLElement) => {\r\n // element.classList.remove(\"show\");\r\n // });\r\n }\r\n\r\n // Toggle the 'show' class on the submenu\r\n const $subMenu = $el.nextElementSibling;\r\n console.log($subMenu);\r\n this.renderer.addClass($subMenu, \"show\");\r\n\r\n // Toggle 'show' class on the parent list item\r\n this.renderer.addClass($el.parentElement, \"show\");\r\n\r\n // Adjust position if not in navbar\r\n if ($parent && !$parent.parentElement.classList.contains(\"navbar-nav\")) {\r\n const offsetTop = $el.offsetTop;\r\n const offsetLeft = $parent.offsetWidth - 4;\r\n this.renderer.setStyle($el.nextElementSibling, \"top\", `${offsetTop}px`);\r\n this.renderer.setStyle(\r\n $el.nextElementSibling,\r\n \"left\",\r\n `${offsetLeft}px`\r\n );\r\n }\r\n }, 1000);\r\n // return false;\r\n }\r\n\r\n private findClosestParent(\r\n element: HTMLElement,\r\n selector: string\r\n ): HTMLElement | null {\r\n let currentElement: HTMLElement | null = element;\r\n while (currentElement) {\r\n if (currentElement.matches(selector)) {\r\n return currentElement;\r\n }\r\n currentElement = currentElement.parentElement;\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'input[floatsOnly]'\r\n})\r\nexport class FloatDirective {\r\n\r\n constructor(private _el: ElementRef) { }\r\n\r\n @HostListener('input', ['$event']) onInputChange(event) {\r\n const initalValue = this._el.nativeElement.value;\r\n this._el.nativeElement.value = initalValue.replace(/[^0-9.]*/g, '');\r\n if ( initalValue !== this._el.nativeElement.value) {\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NumberDirective } from './numbers-only.directive';\r\nimport { FloatDirective } from './floats-only.directive';\r\n\r\n@NgModule({\r\n declarations: [NumberDirective, FloatDirective],\r\n imports: [],\r\n exports: [\r\n NumberDirective,\r\n FloatDirective\r\n ]\r\n})\r\nexport class MyDirectiveModule { }\r\n","import { Directive, ElementRef, HostListener, Input } from \"@angular/core\";\r\nimport { NgControl } from \"@angular/forms\";\r\n\r\n@Directive({\r\n selector: \"input[numbersOnly]\",\r\n})\r\nexport class NumberDirective {\r\n constructor(private _el: ElementRef) {}\r\n\r\n @HostListener(\"input\", [\"$event\"]) onInputChange(event) {\r\n const initalValue = this._el.nativeElement.value;\r\n this._el.nativeElement.value = initalValue.replace(/[^0-9]*/g, \"\");\r\n if (initalValue !== this._el.nativeElement.value) {\r\n event.stopPropagation();\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { MatAutocompleteModule } from \"@angular/material/autocomplete\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatButtonToggleModule } from \"@angular/material/button-toggle\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatChipsModule } from \"@angular/material/chips\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatGridListModule } from \"@angular/material/grid-list\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatListModule } from \"@angular/material/list\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { MatNativeDateModule } from \"@angular/material/core\";\r\nimport { MatPaginatorModule } from \"@angular/material/paginator\";\r\nimport { MatProgressBarModule } from \"@angular/material/progress-bar\";\r\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\r\nimport { MatRadioModule } from \"@angular/material/radio\";\r\nimport { MatRippleModule } from \"@angular/material/core\";\r\nimport { MatSelectModule } from \"@angular/material/select\";\r\nimport { MatSidenavModule } from \"@angular/material/sidenav\";\r\nimport { MatSliderModule } from \"@angular/material/slider\";\r\nimport { MatSlideToggleModule } from \"@angular/material/slide-toggle\";\r\nimport { MatSnackBarModule } from \"@angular/material/snack-bar\";\r\nimport { MatSortModule } from \"@angular/material/sort\";\r\nimport { MatTableModule } from \"@angular/material/table\";\r\nimport { MatTabsModule } from \"@angular/material/tabs\";\r\nimport { MatToolbarModule } from \"@angular/material/toolbar\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { MatStepperModule } from \"@angular/material/stepper\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\n\r\nimport {\r\n NgxMatDatetimePickerModule,\r\n NgxMatTimepickerModule,\r\n NgxMatNativeDateModule,\r\n} from \"@angular-material-components/datetime-picker\";\r\nimport { NgxMatMomentModule } from \"@angular-material-components/moment-adapter\";\r\nimport { NgxMatSelectSearchModule } from \"ngx-mat-select-search\";\r\n\r\n@NgModule({\r\n imports: [\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule,\r\n NgxMatSelectSearchModule,\r\n NgxMatDatetimePickerModule,\r\n NgxMatTimepickerModule,\r\n NgxMatNativeDateModule,\r\n NgxMatMomentModule,\r\n MatFormFieldModule,\r\n ],\r\n exports: [\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule,\r\n NgxMatSelectSearchModule,\r\n NgxMatDatetimePickerModule,\r\n NgxMatTimepickerModule,\r\n NgxMatNativeDateModule,\r\n NgxMatMomentModule,\r\n MatFormFieldModule,\r\n ],\r\n})\r\nexport class MaterialModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpParams, HttpHeaders } from \"@angular/common/http\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { LanguageService } from \"./language.service\";\r\n\r\nimport { StoreUser } from \"common/_models/store/storeUser\";\r\n// import { AuthService } from 'angularx-social-login';\r\n// import { THIS_EXPR } from \"@angular/compiler/src/output/output_ast\";\r\nimport { AuthUser } from \"common/_models/AuthUser.model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AuthenticationService {\r\n public currentUserSubject: BehaviorSubject;\r\n private currentUserProfileSubject: BehaviorSubject;\r\n public currentUser: Observable;\r\n public currentUserProfile: Observable;\r\n\r\n constantConfig;\r\n\r\n constructor(\r\n private http: HttpClient // private langService: LanguageService,\r\n ) // private authService: AuthService,\r\n {\r\n this.constantConfig = constEnv;\r\n this.currentUserSubject = new BehaviorSubject(\r\n JSON.parse(localStorage.getItem(\"currentUser\"))\r\n );\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n }\r\n\r\n public get currentUserValue(): AuthUser {\r\n return this.currentUserSubject.value;\r\n }\r\n\r\n public get currentUserProfileValue() {\r\n return JSON.parse(localStorage.getItem(\"currentUserProfile\"));\r\n }\r\n\r\n login(email, password, type, language = \"en-US\") {\r\n const grantType = \"password\";\r\n\r\n const params = new HttpParams()\r\n .set(\"Email\", email)\r\n .set(\"Password\", password)\r\n .set(\"UserType\", type);\r\n // .set('grant_type', grantType)\r\n // .set('language', language);\r\n\r\n const requestHeader = {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n\r\n return this.http\r\n .post(`${this.constantConfig.apiLoginURL}`, params, {\r\n headers: requestHeader,\r\n })\r\n .pipe(\r\n map((user) => {\r\n if (user[\"status\"] === true) {\r\n localStorage.setItem(\"currentUser\", JSON.stringify(user[\"data\"]));\r\n this.currentUserSubject.next(user[\"data\"]);\r\n }\r\n\r\n return user[\"data\"];\r\n })\r\n );\r\n }\r\n\r\n logout() {\r\n // remove user from local storage and set current user to null\r\n localStorage.removeItem(\"currentUser\");\r\n localStorage.removeItem(\"currentUserProfile\");\r\n this.currentUserSubject.next(null);\r\n // this.authService.signOut();\r\n // this.langService.changeLanguage(this.langService.defaultLanguage);\r\n }\r\n\r\n userLanguagePreference(currentLangId) {\r\n const params1 = new HttpParams()\r\n .set(\"UserType\", this.currentUserValue.userdetails.userType)\r\n .set(\"LangId\", currentLangId);\r\n\r\n return this.http\r\n .post(\r\n `${this.constantConfig.apiURL}/userlangpref`,\r\n {},\r\n {\r\n params: params1,\r\n }\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport * as signalR from \"@microsoft/signalr\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ChatbotService {\r\n public hubConnection: signalR.HubConnection;\r\n public roomName;\r\n pageNo: number = 0;\r\n pageSize: number = 20;\r\n constructor(private http: HttpClient) {}\r\n\r\n // Initialize the SignalR connection and pass the Bearer token\r\n public startConnection(token: string): void {\r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(`${constEnv.chatBotBaseUrl}chatBotHub`, {\r\n accessTokenFactory: () => token, // Pass the Bearer token here\r\n })\r\n .configureLogging(signalR.LogLevel.Information)\r\n .build();\r\n\r\n this.hubConnection\r\n .start()\r\n .then(() => {\r\n this.getRoomId();\r\n this.getRoomName();\r\n console.log(\"SignalR Connected\", this.getRoomId);\r\n // this.getMessageHistory(this.roomName, this.pageNo, this.pageSize);\r\n })\r\n .catch((err) => console.log(\"Error while starting connection: \" + err));\r\n }\r\n\r\n // Send a message to the SignalR server\r\n public sendMessage(message: string, type: string): void {\r\n this.hubConnection\r\n .invoke(\"SendMessage\", this.roomName, message, type)\r\n .catch((err) => console.error(err));\r\n }\r\n\r\n public OnErrorget() {\r\n this.hubConnection.on(\"onError\", function (message) {\r\n console.log(\"on error\", message);\r\n });\r\n }\r\n // Receive a message from the SignalR server\r\n public onReceiveMessage(callback: (message: any) => void): void {\r\n this.hubConnection.on(\"ReceiveMessage\", (message) => {\r\n console.log(message);\r\n callback(message);\r\n });\r\n }\r\n\r\n public getRoomId() {\r\n this.hubConnection.invoke(\"GetRoomId\").catch((err) => console.error(err));\r\n }\r\n\r\n public getRoomName(): void {\r\n this.hubConnection.on(\"GetRoomName\", (message) => {\r\n this.roomName = message;\r\n this.joinRoom(message);\r\n });\r\n }\r\n\r\n public joinRoom(roomName) {\r\n this.hubConnection.invoke(\"Join\", roomName).catch((err) => {\r\n this.roomName = \"\";\r\n console.error(err);\r\n });\r\n }\r\n\r\n public getMessageHistory(\r\n roomName: string,\r\n pageNo: number,\r\n pageSize: number\r\n ): Promise {\r\n return this.hubConnection.invoke(\"GetMessageHistory\", roomName, pageNo, pageSize);\r\n }\r\n \r\n\r\n public uploadImage(file: File): Observable {\r\n const formData: FormData = new FormData();\r\n // formData.append('RoomId', \"\");\r\n formData.append(\"RoomName\", this.roomName);\r\n formData.append(\"File\", file);\r\n\r\n return this.http.post(\r\n `${constEnv.apiURL}/Upload/attachment`,\r\n formData\r\n );\r\n }\r\n\r\n public uploadAudio(audioBlob): Observable {\r\n const formData: FormData = new FormData();\r\n // formData.append('RoomId', \"\");\r\n formData.append(\"RoomName\", this.roomName);\r\n formData.append(\"File\", audioBlob, \"recording.webm\");\r\n\r\n return this.http.post(\r\n `${constEnv.apiURL}/Upload/audioAttachment`,\r\n formData\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\r\n\r\n//import { ConstansService } from 'common/services/constans.service';\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class CustomerService {\r\n currentUserProfile;\r\n configConstant = constEnv;\r\n apiURL = this.configConstant.apiCustomerURL;\r\n constructor(\r\n private http: HttpClient,\r\n private authenticationService: AuthenticationService\r\n ) {\r\n this.currentUserProfile =\r\n this.authenticationService.currentUserProfileValue;\r\n }\r\n getProfile() {\r\n return this.http.get(`${this.apiURL}/getprofile`).pipe(\r\n map((profile) => {\r\n let data = [];\r\n if (profile[\"status\"]) {\r\n data = profile[\"data\"];\r\n\r\n localStorage.setItem(\"currentUserProfile\", JSON.stringify(data));\r\n }\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n updateProfile(formData) {\r\n return this.http.post(`${this.apiURL}/updatecustprofile`, formData).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getDashboard() {\r\n return this.http.get(`${this.apiURL}/dashboard`).pipe(\r\n map((data) => {\r\n let dashboardData = {};\r\n if (data[\"status\"]) {\r\n dashboardData = data[\"data\"];\r\n }\r\n return dashboardData;\r\n })\r\n );\r\n }\r\n\r\n register(formData) {\r\n const requestHeader = {\r\n \"Content-Type\": \"application/json\",\r\n };\r\n\r\n // const requestData = new HttpParams()\r\n // .set('email', user.email)\r\n // .set('password', user.password)\r\n // .set('phoneCode', user.countryCode)\r\n // .set('phone', user.mobileNo)\r\n // .set('first_name', user.firstName)\r\n // .set('last_name', user.lastName);\r\n\r\n return this.http.post(`${this.apiURL}/profile`, formData).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n forgotPassword(email) {\r\n const requestHeader = {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n\r\n const requestData = new HttpParams().set(\"customerEmail\", email);\r\n\r\n return this.http\r\n .post(`${this.apiURL}/forgotpassword`, requestData, {\r\n headers: requestHeader,\r\n params: requestData,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n resetPassword(accessToken, newPassword) {\r\n // const requestHeader = {\r\n // 'Content-Type': 'application/x-www-form-urlencoded'\r\n // };\r\n\r\n const requestData = new HttpParams()\r\n .set(\"accessToken\", accessToken)\r\n .set(\"newPassword\", newPassword);\r\n\r\n const formData = {\r\n accessToken: accessToken,\r\n newPassword: newPassword,\r\n };\r\n\r\n return this.http.post(`${this.apiURL}/resetpassword`, formData).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n changeProfilePhoto(formModel) {\r\n return this.http.post(`${this.apiURL}/editprofileimage`, formModel).pipe(\r\n map((data) => {\r\n if (data[\"status\"] === true) {\r\n const responseData = data[\"data\"];\r\n const imageURL =\r\n typeof responseData.image_url !== \"undefined\"\r\n ? responseData.image_url\r\n : \"\";\r\n if (imageURL !== \"\") {\r\n if (typeof this.currentUserProfile !== \"undefined\") {\r\n this.currentUserProfile.profile_image = imageURL;\r\n }\r\n localStorage.setItem(\r\n \"currentUserProfile\",\r\n JSON.stringify(this.currentUserProfile)\r\n );\r\n }\r\n }\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n delete(id: number) {\r\n return this.http.delete(`${this.apiURL}/users/${id}`);\r\n }\r\n\r\n verifyEmail(token: string) {\r\n return this.http.get(`${this.apiURL}/verify/${token}`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getHeaderCounters() {\r\n return this.http.get(`${this.apiURL}/GetCounts`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n checkSocialLogin(socialId, socialType, socialEmail) {\r\n const formData = {\r\n SocialType: socialType,\r\n SocialId: socialId,\r\n Email: socialEmail,\r\n };\r\n\r\n return this.http.post(`${this.apiURL}/checklogin`, formData).pipe(\r\n map((data) => {\r\n if (data[\"status\"] === true) {\r\n localStorage.setItem(\"currentUser\", JSON.stringify(data[\"data\"]));\r\n this.authenticationService.currentUserSubject.next(data[\"data\"]);\r\n }\r\n\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n socialLogin(formData) {\r\n return this.http.post(`${this.apiURL}/externallogin`, formData).pipe(\r\n map((data) => {\r\n localStorage.setItem(\"currentUser\", JSON.stringify(data[\"data\"]));\r\n this.authenticationService.currentUserSubject.next(data[\"data\"]);\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n changePassword(formData) {\r\n return this.http.post(`${this.apiURL}/changepassword`, formData).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getCustomerOrders(dataTablesParameters) {\r\n let searchValue = \"\";\r\n let searchBy = \"\";\r\n // if ( dataTablesParameters.search.value !== '' ) {\r\n // searchValue = dataTablesParameters.search.value;\r\n // searchBy = dataTablesParameters.search.column;\r\n // }\r\n let orderId = \"\";\r\n if (typeof dataTablesParameters.orderId !== \"undefined\") {\r\n orderId = dataTablesParameters.orderId;\r\n }\r\n\r\n let dateFrom = \"\";\r\n if (typeof dataTablesParameters.dateFrom !== \"undefined\") {\r\n dateFrom = dataTablesParameters.dateFrom;\r\n }\r\n\r\n let dateTo = \"\";\r\n if (typeof dataTablesParameters.dateTo !== \"undefined\") {\r\n dateTo = dataTablesParameters.dateTo;\r\n }\r\n const pageNo =\r\n (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n const searchParams = new HttpParams()\r\n .set(\"searchColumn\", searchBy)\r\n .set(\"searchValue\", searchValue)\r\n .set(\"pageNo\", pageNo.toString())\r\n .set(\"pageSize\", dataTablesParameters.length)\r\n .set(\"sortColumn\", \"\")\r\n .set(\"sortOrder\", \"\")\r\n .set(\"orderId\", orderId)\r\n .set(\"DateTimeForm\", dateFrom)\r\n .set(\"DateTimeTo\", dateTo);\r\n\r\n // if(orderId !== ''){\r\n\r\n // searchParams.set('orderId', orderId);\r\n // }\r\n // console.log(searchParams);\r\n return this.http\r\n .get(`${this.apiURL}/getorder`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n getCustomerAddressese(addressId = 0) {\r\n const coallbackUrl =\r\n addressId > 0\r\n ? `${this.apiURL}/getaddress/${addressId}`\r\n : `${this.apiURL}/getaddress`;\r\n\r\n return this.http.get(coallbackUrl).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n updateCustomerAddress(formData) {\r\n return this.http.post(`${this.apiURL}/updateaddress`, formData).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n deleteCustomerAddress(addressId: number) {\r\n return this.http.get(`${this.apiURL}/deleteaddress/${addressId}`, {}).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n setCustomerDefaultAddress(addressId: number) {\r\n return this.http.get(`${this.apiURL}/setdefaultaddress/${addressId}`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getCustomerOrderDetail(orderId) {\r\n return this.http.get(`${this.apiURL}/getorderbyid/${orderId}`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n getCustomerWishList(paging) {\r\n const pageNo = typeof paging.page !== \"undefined\" ? paging.page : 0;\r\n const perPage =\r\n typeof paging.itemsPerPage !== \"undefined\" ? paging.itemsPerPage : 12;\r\n\r\n // const searchParams = new HttpParams()\r\n // .set('searchColumn', '')\r\n // .set('searchValue', '')\r\n // .set('pageNo', pageNo)\r\n // .set('pageSize', perPage)\r\n // .set('sortColumn', '')\r\n // .set('sortOrder', '');\r\n\r\n const searchParams = {\r\n searchColumn: \"\",\r\n searchValue: \"\",\r\n pageNo,\r\n pageSize: perPage,\r\n sortColumn: \"\",\r\n sortOrder: \"\",\r\n };\r\n\r\n // return this.http.get( `${this.apiUrl}/getwhishlist`, {\r\n // params: searchParams\r\n // } )\r\n // .pipe(map(data => {\r\n // return data;\r\n // }));\r\n\r\n return this.http.get(`${this.apiURL}/getwishList`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n getProductDetail(productId) {\r\n const searchParams = {\r\n pid: productId,\r\n };\r\n return this.http\r\n .get(`${this.apiURL}/productdetail`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n removeCustomerWishlist(wishlistId: number) {\r\n return this.http.get(`${this.apiURL}/deletewishList/${wishlistId}`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n // Jobs\r\n getCustomerJobs(dataTablesParameters) {\r\n let searchValue = \"\";\r\n let searchBy = \"\";\r\n // if ( dataTablesParameters.search.value !== '' ) {\r\n // searchValue = dataTablesParameters.search.value;\r\n // searchBy = dataTablesParameters.search.column;\r\n // }\r\n\r\n const pageNo =\r\n (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n const searchParams = new HttpParams()\r\n .set(\"searchColumn\", searchBy)\r\n .set(\"searchValue\", searchValue)\r\n .set(\"pageNo\", pageNo.toString())\r\n .set(\"pageSize\", dataTablesParameters.length)\r\n .set(\"sortColumn\", \"\")\r\n .set(\"sortOrder\", \"\");\r\n\r\n return this.http\r\n .get(`${this.apiURL}/getjoblist`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n createCustomerJob(formData) {\r\n return this.http.post(`${this.apiURL}/createjob`, formData).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getJobItems(jobId: number) {\r\n return this.http.get(`${this.apiURL}/getproductlistforjob/${jobId}`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getSpaceType() {\r\n return this.http.get(`${this.apiURL}/getspacetype`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n // END\r\n\r\n getReturnRequestPickupCharge(params: any) {\r\n const queryParams = new HttpParams()\r\n .set(\"Quantity\", params.Quantity)\r\n .set(\"ProductId\", params.ProductId)\r\n .set(\"StoreId\", params.StoreId)\r\n .set(\"OrderDetailId\", params.OrderDetailId)\r\n .set(\"IsReplaced\", params.IsReplaced);\r\n\r\n return this.http\r\n .get(`${this.apiURL}/getpickupcharges`, {\r\n params: queryParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n returnRequestTickets(formData) {\r\n return this.http.post(`${this.apiURL}/generateticket`, formData).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getReturnRequestLists(paging, search: any = []) {\r\n const searchBy =\r\n typeof search.searchBy !== \"undefined\" ? search.searchBy : \"\";\r\n const searchValue =\r\n typeof search.searchValue !== \"undefined\" ? search.searchValue : \"\";\r\n const searchParams = new HttpParams()\r\n .set(\"SearchColumn\", searchBy)\r\n .set(\"SearchValue\", searchValue)\r\n .set(\"PageNo\", paging.page.toString())\r\n .set(\"PageSize\", paging.itemsPerPage)\r\n .set(\"SortColumn\", \"\")\r\n .set(\"SortOrder\", \"\");\r\n\r\n return this.http\r\n .get(`${this.apiURL}/getreturnticketlist`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n returnRequestPayment(ticketId: number) {\r\n return this.http\r\n .post(`${this.configConstant.apiURL}/returnpay/${ticketId}`, {})\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n updatePickupDate(ticketId: number, pickupDate: string) {\r\n const formDate = new FormData();\r\n formDate.append(\"TicketId\", ticketId.toString());\r\n formDate.append(\"PickupDate\", pickupDate);\r\n return this.http.patch(`${this.apiURL}/changepickupdate`, formDate).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n returnRequestPaymentSuccess(ticketId: number) {\r\n return this.http\r\n .post(\r\n `${this.configConstant.apiURL}/returnpaymentsuccess?TicketId=${ticketId}`,\r\n {}\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n cancelRequestTickets(formData) {\r\n return this.http.post(`${this.apiURL}/generatecancelticket`, formData).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getCancelRequestLists(dataTablesParameters) {\r\n let searchValue = \"\";\r\n let searchBy = \"\";\r\n // if ( dataTablesParameters.search.value !== '' ) {\r\n // searchValue = dataTablesParameters.search.value;\r\n // searchBy = dataTablesParameters.search.column;\r\n // }\r\n\r\n const pageNo =\r\n (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n const searchParams = new HttpParams()\r\n .set(\"SearchColumn\", searchBy)\r\n .set(\"SearchValue\", searchValue)\r\n .set(\"PageNo\", pageNo.toString())\r\n .set(\"PageSize\", dataTablesParameters.length)\r\n .set(\"SortColumn\", \"\")\r\n .set(\"SortOrder\", \"\");\r\n\r\n return this.http\r\n .get(`${this.apiURL}/getcancelticketlist`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getCancelRequestDetail(requestId: number) {\r\n return this.http.get(`${this.apiURL}/getcancelicketbyid/${requestId}`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n addFeedBack(formData) {\r\n return this.http.patch(`${this.apiURL}/customerfeedback`, formData).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n rateReviewToStoreOrderProduct(formData) {\r\n return this.http.post(`${this.apiURL}/addstorereview`, formData).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DeliveryCompanyService {\r\n\r\n configConstant = constEnv;\r\n\r\n apiUrl = this.configConstant.apiDeliveryCompanyURL;\r\n\r\n constructor(private http: HttpClient) {\r\n // this.apiUrl = this.configConstant.apiDeliveryCompanyURL;\r\n }\r\n\r\n register(user) {\r\n const requestHeader = {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n };\r\n\r\n const requestData = new HttpParams()\r\n .set('Email', user.email)\r\n .set('Password', user.password)\r\n .set('PhoneCode', user.countryCode)\r\n .set('Phone', user.mobileNo)\r\n .set('ServiceTypeId', user.ServiceTypeId)\r\n .set('Name', user.name);\r\n\r\n return this.http.post(`${this.apiUrl}/profile`, requestData, {\r\n headers: requestHeader\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n login(email, password) {\r\n const requestHeader = {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n };\r\n\r\n const requestData = new HttpParams()\r\n .set('Email', email)\r\n .set('Password', password);\r\n\r\n return this.http.post(`${this.configConstant.apiBaseURL}/deliverycompany/login`, requestData, {\r\n headers: requestHeader\r\n })\r\n .pipe(map(data => {\r\n console.log(data);\r\n return data;\r\n }));\r\n }\r\n\r\n verifyEmail( token: string ) {\r\n return this.http.get(`${this.apiUrl}/verify/${token}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n forgotPassword(email) {\r\n const requestHeader = {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n };\r\n\r\n const requestData = new HttpParams()\r\n .set('email', email);\r\n\r\n return this.http.post(`${this.apiUrl}/forgotpassword`, requestData, {\r\n headers: requestHeader,\r\n params: requestData\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n resetPassword(accessToken, newPassword) {\r\n const requestHeader = {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n };\r\n\r\n const requestData = new HttpParams()\r\n .set('AccessToken', accessToken)\r\n .set('NewPassword', newPassword);\r\n\r\n return this.http.post(`${this.apiUrl}/resetpassword`, requestData, {\r\n headers: requestHeader\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from 'common/services/authentication.service';\r\nimport { throwError } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class UserService {\r\n currentUserProfile;\r\n currentUserValue;\r\n\r\n apiURL: string;\r\n\r\n configConstant = constEnv;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private authenticationService: AuthenticationService,\r\n ) {\r\n this.currentUserProfile = this.authenticationService.currentUserProfileValue;\r\n this.currentUserValue = this.authenticationService.currentUserValue;\r\n\r\n this.apiURL = this.configConstant.apiDriverURL;\r\n }\r\n\r\n getProfile() {\r\n return this.http.get(`${this.apiURL}/profile`)\r\n .pipe(map(profile => {\r\n let data = [];\r\n if (profile['status']) {\r\n data = profile['data'];\r\n\r\n localStorage.setItem('currentUserProfile', JSON.stringify(data));\r\n }\r\n return data;\r\n }));\r\n }\r\n\r\n getDashboard() {\r\n return this.http.get(`${this.apiURL}/dashboard`)\r\n .pipe(map(data => {\r\n let dashboardData = {};\r\n if (data['status']) {\r\n dashboardData = data['data'];\r\n }\r\n return dashboardData;\r\n }));\r\n }\r\n\r\n register(user) {\r\n const requestHeader = {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n };\r\n\r\n const requestData = new HttpParams()\r\n .set('email', user.email)\r\n .set('password', user.password)\r\n .set('phone_code', user.countryCode)\r\n .set('phone', user.mobileNo)\r\n .set('d_fname', user.firstName)\r\n .set('d_lname', user.lastName);\r\n\r\n return this.http.post(`${this.apiURL}/profile`, requestData, {\r\n headers: requestHeader\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n forgotPassword(email) {\r\n const requestHeader = {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n };\r\n\r\n const requestData = new HttpParams()\r\n .set('email', email);\r\n\r\n return this.http.post(`${this.apiURL}/forgotpassword`, requestData, {\r\n headers: requestHeader,\r\n params: requestData\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n resetPassword(accessToken, newPassword) {\r\n \r\n const requestData = {\r\n accessToken: accessToken,\r\n newPassword: newPassword\r\n }\r\n \r\n return this.http.post(`${this.apiURL}/resetpassword`, requestData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n changeProfilePhoto(formModel) {\r\n return this.http.post(`${this.apiURL}/editprofileimage`, formModel)\r\n .pipe(map(data => {\r\n if (data['status'] === true) {\r\n const responseData = data['data'];\r\n const imageURL = (typeof responseData.image_url !== 'undefined') ? responseData.image_url : '';\r\n if (imageURL !== '') {\r\n if (typeof this.currentUserProfile !== 'undefined') {\r\n this.currentUserProfile.profile_image = imageURL;\r\n }\r\n localStorage.setItem('currentUserProfile', JSON.stringify(this.currentUserProfile));\r\n }\r\n }\r\n return data;\r\n }));\r\n }\r\n\r\n delete(id: number) {\r\n return this.http.delete(`${this.apiURL}/users/${id}`);\r\n }\r\n\r\n getHeaderCounters() {\r\n return this.http.get(`${this.apiURL}/GetCounts`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n checkSocialLogin(socialId, socialType, socialEmail) {\r\n const formData = {\r\n SocialType: socialType,\r\n SocialId: socialId,\r\n Email: socialEmail,\r\n };\r\n\r\n return this.http.post(`${this.apiURL}/checklogin`, formData)\r\n .pipe(map(data => {\r\n if (data['status'] === true) {\r\n localStorage.setItem('currentUser', JSON.stringify(data['data']));\r\n this.authenticationService.currentUserSubject.next(data['data']);\r\n }\r\n\r\n return data;\r\n }));\r\n }\r\n\r\n socialLogin(formData) {\r\n return this.http.post(`${this.apiURL}/externallogin`, formData)\r\n .pipe(map(data => {\r\n localStorage.setItem('currentUser', JSON.stringify(data['data']));\r\n this.authenticationService.currentUserSubject.next(data['data']);\r\n return data;\r\n }));\r\n }\r\n\r\n verifyEmail(token: string) {\r\n return this.http.get(`${this.apiURL}/verify/${token}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getCodDetails() {\r\n return this.http.get(`${this.apiURL}/CODDetails`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getTransactionHistoryLists() {\r\n return this.http.get(`${this.apiURL}/GetCODTransferList`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n createOfflinePayment( formData ) {\r\n const params = new HttpParams()\r\n .set('transferredDate', formData.transferredDate)\r\n .set('transferredAmount', formData.transferredAmount)\r\n .set('transactionDetails', formData.transactionDetails)\r\n .set('comments', formData.comments)\r\n .set('attachment', formData.attachment)\r\n .set('paymentMode', formData.paymentMode);\r\n\r\n const requestHeader = {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n };\r\n\r\n return this.http.post(`${this.apiURL}/InsertTransferDetails`, params, { headers: requestHeader })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getCodPayments( dataTablesParameters ) {\r\n const pageNo = (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n\r\n const searchParams = new HttpParams()\r\n .set('searchColumn', '')\r\n .set('searchValue', '')\r\n .set('pageNo', pageNo.toString())\r\n .set('pageSize', dataTablesParameters.length)\r\n .set('sortColumn', '')\r\n .set('sortOrder', '');\r\n\r\n return this.http.get(`${this.apiURL}/PaidCODOrderList`, {\r\n params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getCodPaymentDetail(PayId) {\r\n return this.http.get(`${this.apiURL}/GetOrderDetailsByPayId/${PayId}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n get isDeliveryCompany() {\r\n const isDeliveryCompany = (typeof this.currentUserValue.IsDeliveryCompanyDriver !== 'undefined' && this.currentUserValue.IsDeliveryCompanyDriver === 'true') ? true : false;\r\n return isDeliveryCompany;\r\n }\r\n}\r\n","import { Injectable, EventEmitter } from '@angular/core'; \r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class EventEmitterService {\r\n\r\n invokeSiteHeaderFunction = new EventEmitter(); \r\n subsVar: Subscription; \r\n\r\n constructor() { }\r\n\r\n // getCartCount() {\r\n // this.invokeSiteHeaderFunction.emit();\r\n // }\r\n\r\n}\r\n","import { Injectable, NgZone } from \"@angular/core\";\r\nimport { AngularFireAuth } from \"@angular/fire/compat/auth\";\r\nimport { Router } from \"@angular/router\";\r\nimport {\r\n FacebookAuthProvider,\r\n GoogleAuthProvider,\r\n OAuthProvider,\r\n UserCredential,\r\n} from \"firebase/auth\";\r\nimport { Observable, from } from \"rxjs\";\r\nimport { tap, catchError } from \"rxjs/operators\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class FirebaseAuthService {\r\n userData: any;\r\n\r\n public providerType = {\r\n GOOGLE: \"google\",\r\n FB: \"facebook\",\r\n APPLE: \"apple\",\r\n };\r\n\r\n constructor(\r\n private afAuth: AngularFireAuth,\r\n private ngZone: NgZone,\r\n private router: Router\r\n ) {\r\n this.afAuth.authState.subscribe((user) => {\r\n if (user) {\r\n this.userData = user;\r\n localStorage.setItem(\"user\", JSON.stringify(this.userData));\r\n } else {\r\n localStorage.setItem(\"user\", \"null\");\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Perform authentication using a given provider\r\n */\r\n AuthLogin(provider: any): Observable {\r\n // this.isLoadingService.add();\r\n\r\n return from(this.afAuth.signInWithPopup(provider)).pipe(\r\n tap((result) => {\r\n // console.log(\"Auth login\", result.additionalUserInfo.profile);\r\n return result.user.toJSON();\r\n // this.setUserData(result.user);\r\n }),\r\n catchError((error) => {\r\n // console.error(\"Authentication error:\", error.message);\r\n throw error;\r\n })\r\n // finalize(() => this.isLoadingService.remove())\r\n );\r\n }\r\n\r\n /**\r\n * Sign in with Google\r\n */\r\n GoogleAuth(): Observable {\r\n const provider = new GoogleAuthProvider();\r\n return this.AuthLogin(provider).pipe(\r\n tap((res) => {}),\r\n catchError((error) => {\r\n console.error(\"Google login failed:\", error.message);\r\n throw error;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Sign in with Facebook\r\n */\r\n FacebookAuth(): Observable {\r\n const provider = new FacebookAuthProvider();\r\n return this.AuthLogin(provider).pipe(\r\n tap((res) => {}),\r\n catchError((error) => {\r\n console.error(\"Facebook login failed:\", error.message);\r\n throw error;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Sign in with Apple\r\n */\r\n AppleAuth(): Observable {\r\n const provider = new OAuthProvider(\"apple.com\");\r\n provider.addScope(\"name email\");\r\n // provider.addScope(\"name\");\r\n return this.AuthLogin(provider).pipe(\r\n tap((res) => {}),\r\n catchError((error) => {\r\n console.error(\"Apple login failed:\", error.message);\r\n throw error;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Sign out the current user\r\n */\r\n SignOut(): Observable {\r\n return from(this.afAuth.signOut()).pipe(\r\n tap(() => {\r\n // localStorage.removeItem(\"user\");\r\n this.ngZone.run(() => this.router.navigate([\"sign-in\"]));\r\n }),\r\n catchError((error) => {\r\n console.error(\"Sign out failed:\", error.message);\r\n throw error;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class FixedElementService {\r\n private fixedElementHeightSource = new BehaviorSubject(0); // Default height is 0\r\n fixedElementHeight$ = this.fixedElementHeightSource.asObservable();\r\n\r\n setHeight(height: number): void {\r\n this.fixedElementHeightSource.next(height);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nimport { constEnv } from \"../constants.env\";\r\nimport { LanguageService } from \"./language.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class GeneralService {\r\n constantConfig;\r\n\r\n constructor(private http: HttpClient, private ls: LanguageService) {\r\n this.constantConfig = constEnv;\r\n }\r\n\r\n getAllCountry() {\r\n return this.http.get(`${this.constantConfig.apiURL}/country/get`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getstateByCountryId(countryId: number) {\r\n const param = new HttpParams().set(\"countryid\", countryId.toString());\r\n\r\n return this.http\r\n .get(`${this.constantConfig.apiURL}/state/getbyid`, {\r\n params: param,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getcityByStateId(stateId: number) {\r\n const param = new HttpParams().set(\"stateid\", stateId.toString());\r\n\r\n return this.http\r\n .get(`${this.constantConfig.apiURL}/city/getbyid`, {\r\n params: param,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getDefaultSettingsValue() {\r\n return this.http\r\n .get(`${this.constantConfig.apiURL}/getdefaultvalue`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n )\r\n .subscribe((response) => {\r\n if (response[\"status\"] === true) {\r\n this.setDefaultSettings(response[\"data\"]);\r\n }\r\n });\r\n }\r\n\r\n setDefaultSettings(settingsValue) {\r\n localStorage.setItem(\"defaultSettings\", JSON.stringify(settingsValue));\r\n }\r\n\r\n getDefaultSettings() {\r\n let defaultSettings = localStorage.getItem(\"defaultSettings\");\r\n defaultSettings = JSON.parse(defaultSettings);\r\n return defaultSettings ? defaultSettings : null;\r\n }\r\n getGoogleMapKey() {\r\n let defaultSettings = this.getDefaultSettings();\r\n if (!defaultSettings) {\r\n this.getDefaultSettingsValue();\r\n setTimeout(function () {\r\n defaultSettings = this.getDefaultSettings();\r\n }, 100);\r\n }\r\n return defaultSettings[\"googleMapAPIKey\"]\r\n ? defaultSettings[\"googleMapAPIKey\"]\r\n : null;\r\n }\r\n\r\n getCmsPageContent(pagename) {\r\n const lang = localStorage.getItem(\"locale\") || \"en-US\";\r\n const param = new HttpParams().set(\"u_lang\", lang);\r\n\r\n return this.http\r\n .get(`${this.constantConfig.apiURL}/page/${pagename}`, {\r\n params: param,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getAllCurrencies() {\r\n return this.http.get(`${this.constantConfig.apiURL}/currency`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getSettings(settingKey) {\r\n const settings = this.getDefaultSettings();\r\n if (settings !== null) {\r\n return typeof settings[settingKey] !== \"undefined\"\r\n ? settings[settingKey]\r\n : \"\";\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n\r\n getDefaultCurrency() {\r\n return this.getSettings(\"currancy_code\") || constEnv.defaultCurrency;\r\n }\r\n\r\n getFaq() {\r\n return this.http.get(`${this.constantConfig.apiURL}/getfaq`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n sendContactInquiry(formData) {\r\n let params = new HttpParams();\r\n const formKeys = Object.keys(formData);\r\n\r\n formKeys.map((itemKey) => {\r\n params = params.set(itemKey.toString(), formData[itemKey].toString());\r\n });\r\n\r\n return this.http\r\n .post(\r\n `${this.constantConfig.apiURL}/contactus`,\r\n {},\r\n {\r\n params: params,\r\n }\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getServiceTypes() {\r\n return this.http.get(`${this.constantConfig.apiURL}/servicetype`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getSiteLogo(svg = false) {\r\n return svg\r\n ? this.constantConfig.LOGO_SVG_PATH\r\n : this.constantConfig.LOGO_PATH;\r\n }\r\n\r\n getSiteCategory() {\r\n const langId = this.ls.getCurrentLanguageId();\r\n const param = new HttpParams().set(\"LanguageId\", langId);\r\n\r\n return this.http\r\n .get(`${this.constantConfig.apiURL}/store/categories`, {\r\n params: param,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n // Delivery Zone Dt. 26-07-2021 By. PCG\r\n getDeliveryZoneLists(dataTablesParameters) {\r\n const langId = this.ls.getCurrentLanguageId();\r\n const param = new HttpParams().set(\"LanguageId\", langId);\r\n\r\n let searchValue = \"\";\r\n let searchBy = \"\";\r\n if (dataTablesParameters.search.value !== \"\") {\r\n searchValue = dataTablesParameters.search.value;\r\n searchBy = dataTablesParameters.search.column;\r\n }\r\n\r\n const pageNo =\r\n (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n\r\n const searchParams = new HttpParams()\r\n // .set('searchColumn', searchBy)\r\n // .set('searchValue', searchValue)\r\n .set(\"PageNo\", pageNo.toString())\r\n .set(\"PageSize\", dataTablesParameters.length);\r\n // .set('sortColumn', '')\r\n // .set('sortOrder', '');\r\n\r\n return this.http\r\n .get(`${this.constantConfig.apiStoreURL}/getzonelist`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getDeliveryZoneById(id: number) {\r\n return this.http\r\n .get(`${this.constantConfig.apiStoreURL}/getzonebyid/${id}`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n addEditDeliveryZone(formData) {\r\n return this.http\r\n .post(`${this.constantConfig.apiStoreURL}/addeditzone`, formData)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n deleteDeliveryZone(id: number) {\r\n return this.http.get(\r\n `${this.constantConfig.apiStoreURL}/deletezone/${id}`,\r\n {}\r\n );\r\n }\r\n\r\n deliveryZoneChangeStatus(id: number, status: number) {\r\n return this.http.post(\r\n `${this.constantConfig.apiStoreURL}/updatezonestatus/${id}/${status}`,\r\n {}\r\n );\r\n }\r\n\r\n getDeliveryZoneForStore() {\r\n return this.http\r\n .get(`${this.constantConfig.apiStoreURL}/getzoneforstore`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n // Shipping Rate\r\n addEditShippingRate(formData) {\r\n return this.http\r\n .post(`${this.constantConfig.apiStoreURL}/addeditshippingrate`, formData)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getShippingRateById(id: number) {\r\n return this.http\r\n .get(`${this.constantConfig.apiStoreURL}/getshippingratebyid/${id}`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getShippingRateLists(dataTablesParameters) {\r\n let searchValue = \"\";\r\n let searchBy = \"\";\r\n if (dataTablesParameters.search.value !== \"\") {\r\n searchValue = dataTablesParameters.search.value;\r\n searchBy = dataTablesParameters.search.column;\r\n }\r\n\r\n const pageNo =\r\n (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n\r\n const searchParams = new HttpParams()\r\n // .set('searchColumn', searchBy)\r\n // .set('searchValue', searchValue)\r\n .set(\"PageNo\", pageNo.toString())\r\n .set(\"PageSize\", dataTablesParameters.length);\r\n // .set('sortColumn', '')\r\n // .set('sortOrder', '');\r\n\r\n return this.http\r\n .get(`${this.constantConfig.apiStoreURL}/getshippingratelist`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n deleteShippingRate(id: number) {\r\n return this.http.get(\r\n `${this.constantConfig.apiStoreURL}/deleteshippingrate/${id}`,\r\n {}\r\n );\r\n }\r\n\r\n shippingRateChangeStatus(id: number, status: number) {\r\n return this.http.post(\r\n `${this.constantConfig.apiStoreURL}/updateshippingratestatus/${id}/${status}`,\r\n {}\r\n );\r\n }\r\n\r\n getReturnReasonOptions() {\r\n return this.http.get(`${this.constantConfig.apiURL}/getreturnoption`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getCancelReasonOptions() {\r\n return this.http.get(`${this.constantConfig.apiURL}/getcanceloption`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable, Renderer2, RendererFactory2, Inject } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { map, first } from \"rxjs/operators\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\nimport { constEnv } from \"../constants.env\";\r\nimport { pipe } from \"rxjs\";\r\nimport { waitForAsync } from \"@angular/core/testing\";\r\nimport { LoaderService } from \"./loader.service\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LanguageService {\r\n languages = [];\r\n defaultLanguage = \"en-US\";\r\n defaultLanguageInfo = [];\r\n public langLoaded = false;\r\n constantConfig;\r\n\r\n private renderer: Renderer2;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private http: HttpClient,\r\n public translate: TranslateService,\r\n rendererFactory: RendererFactory2,\r\n private ls: LoaderService\r\n ) {\r\n this.constantConfig = constEnv;\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n if (this.getCurrentLanguageCode()) {\r\n this.changeLanguageByLangCode(this.getCurrentLanguageCode());\r\n } else {\r\n this.setDefaultLanguage();\r\n }\r\n }\r\n\r\n _setLanguage(lang) {\r\n localStorage.setItem(\"locale\", lang);\r\n this.translate.use(lang);\r\n }\r\n\r\n getCurrentLanguageCode() {\r\n const lang = localStorage.getItem(\"locale\");\r\n\r\n return lang ? lang : \"\";\r\n }\r\n\r\n getCurrentLanguage() {\r\n const lang = localStorage.getItem(\"locale\");\r\n\r\n return lang ? lang : this.defaultLanguage;\r\n }\r\n\r\n getCurrentLanguageId() {\r\n const lang = this.getDefaultLanguage();\r\n\r\n return typeof lang !== \"undefined\" && lang !== null ? lang.id || 1 : 1;\r\n }\r\n\r\n getCurrentLanguageDrirection() {\r\n const lang = this.getDefaultLanguage();\r\n\r\n return typeof lang !== \"undefined\" && lang !== null\r\n ? lang.lang_style || \"ltl\"\r\n : \"ltl\";\r\n }\r\n\r\n getDefaultLanguage() {\r\n const language = localStorage.getItem(\"defaultLang\");\r\n\r\n return typeof language !== \"undefined\" ? JSON.parse(language) : [];\r\n }\r\n\r\n setLanguageTranslation(translations) {\r\n localStorage.setItem(\"translations\", JSON.stringify(translations));\r\n }\r\n\r\n getLanguageTranslations() {\r\n const translations = localStorage.getItem(\"translations\");\r\n\r\n return JSON.parse(translations);\r\n }\r\n\r\n setAvailableLanguages(languages) {\r\n localStorage.setItem(\"available_languages\", JSON.stringify(languages));\r\n }\r\n\r\n getAvailableLanguages() {\r\n const languages = localStorage.getItem(\"available_languages\");\r\n\r\n return JSON.parse(languages);\r\n }\r\n\r\n getLanguageDetailById(langId) {\r\n let returnVal = null;\r\n this.getAvailableLanguages().forEach((singleLanguage) => {\r\n if (langId === singleLanguage[\"id\"]) {\r\n returnVal = singleLanguage;\r\n }\r\n });\r\n\r\n return returnVal;\r\n }\r\n\r\n changeLanguage(changeLangCode = \"\") {\r\n this.langLoaded = true;\r\n this.getAllLanguages()\r\n .pipe(first())\r\n .subscribe((data) => {\r\n const apiLangs =\r\n typeof data[\"data\"] !== \"undefined\" ? data[\"data\"] : [];\r\n this.setAvailableLanguages(apiLangs);\r\n apiLangs.map((lang) => {\r\n this.languages.push(lang.lang_code);\r\n if (changeLangCode !== \"\") {\r\n if (changeLangCode === lang.lang_code) {\r\n this._setLanguage(lang.lang_code);\r\n localStorage.setItem(\"defaultLang\", JSON.stringify(lang));\r\n\r\n this.getLanguageTranslation(this.getCurrentLanguage())\r\n .pipe(first())\r\n .subscribe((translationsJSON) => {\r\n this.setLanguageTranslation(translationsJSON);\r\n this.langLoaded = false;\r\n });\r\n }\r\n } else {\r\n if (lang.default_lang === \"1\") {\r\n this.defaultLanguage = lang.lang_code;\r\n this._setLanguage(lang.lang_code);\r\n localStorage.setItem(\"defaultLang\", JSON.stringify(lang));\r\n\r\n this.getLanguageTranslation(this.getCurrentLanguage())\r\n .pipe(first())\r\n .subscribe((translationsJSON) => {\r\n this.setLanguageTranslation(translationsJSON);\r\n this.langLoaded = false;\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n setDefaultLanguage() {\r\n this.langLoaded = true;\r\n if (!this.getDefaultLanguage()) {\r\n this.ls.showLoader();\r\n this.getAllLanguages()\r\n .pipe(first())\r\n .subscribe((data) => {\r\n const apiLangs =\r\n typeof data[\"data\"] !== \"undefined\" ? data[\"data\"] : [];\r\n this.setAvailableLanguages(apiLangs);\r\n apiLangs.map((lang) => {\r\n this.languages.push(lang.lang_code);\r\n if (lang.default_lang === \"1\") {\r\n this.defaultLanguage = lang.lang_code;\r\n this._setLanguage(lang.lang_code);\r\n localStorage.setItem(\"defaultLang\", JSON.stringify(lang));\r\n\r\n this.getLanguageTranslation(this.getCurrentLanguage())\r\n .pipe(first())\r\n .subscribe((translationsJSON) => {\r\n this.setLanguageTranslation(translationsJSON);\r\n\r\n this.translate.setTranslation(\r\n this.getCurrentLanguage(),\r\n this.getLanguageTranslations()\r\n );\r\n\r\n const currentLanguage = this.getDefaultLanguage();\r\n\r\n const langStyle =\r\n currentLanguage !== null\r\n ? currentLanguage.lang_style\r\n : \"ltl\";\r\n\r\n this.renderer.setAttribute(\r\n document.querySelector(\"html\"),\r\n \"lang\",\r\n this.translate.currentLang\r\n );\r\n this.renderer.setAttribute(\r\n document.querySelector(\"html\"),\r\n \"dir\",\r\n langStyle === \"rtl\" ? \"rtl\" : \"ltl\"\r\n );\r\n\r\n if (langStyle === \"rtl\") {\r\n this.loadStyle(\"rtl.css\", \"rtl-style\");\r\n }\r\n\r\n this.langLoaded = false;\r\n this.ls.hideLoader();\r\n // location.reload(true);\r\n });\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n getLanguageTranslation(language = \"en-US\") {\r\n return this.http\r\n .get(`${this.constantConfig.apiURL}/getResource`, {\r\n params: { langcode: language },\r\n })\r\n .pipe(\r\n map((translations) => {\r\n const dataString =\r\n typeof translations[\"data\"] !== \"undefined\"\r\n ? translations[\"data\"]\r\n : [];\r\n const translationsStrings =\r\n typeof dataString !== \"undefined\" ? dataString : [];\r\n\r\n return translationsStrings;\r\n })\r\n );\r\n }\r\n\r\n getAllLanguages() {\r\n return this.http.get(`${this.constantConfig.apiURL}/getAllLanguages`).pipe(\r\n map((languages) => {\r\n return languages;\r\n })\r\n );\r\n }\r\n\r\n changeLanguageByLangCode(langCode) {\r\n this.getLanguageTranslation(langCode)\r\n .pipe(first())\r\n .subscribe((translationsJSON) => {\r\n this.setLanguageTranslation(translationsJSON);\r\n });\r\n }\r\n\r\n loadStyle(styleName: string, styleId: string) {\r\n const head = this.document.getElementsByTagName(\"head\")[0];\r\n\r\n const themeLink = this.document.getElementById(styleId) as HTMLLinkElement;\r\n if (themeLink) {\r\n themeLink.href = styleName;\r\n } else {\r\n const style = this.document.createElement(\"link\");\r\n style.id = styleId;\r\n style.rel = \"stylesheet\";\r\n style.href = `${styleName}`;\r\n\r\n head.appendChild(style);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { IsLoadingService } from '@service-work/is-loading';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LoaderService {\r\n\r\n constructor(\r\n private isLoadingService: IsLoadingService,\r\n ) { }\r\n\r\n isLoading() {\r\n return this.isLoadingService.isLoading$();\r\n }\r\n\r\n showLoader() {\r\n this.isLoadingService.add();\r\n this.isLoading();\r\n }\r\n\r\n hideLoader() {\r\n this.isLoadingService.remove();\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core';\r\nimport {Event, NavigationEnd, Router} from '@angular/router';\r\nimport {BehaviorSubject} from 'rxjs';\r\n\r\n@Injectable()\r\nexport class NavService {\r\n public appDrawer: any;\r\n public currentUrl = new BehaviorSubject(undefined);\r\n\r\n constructor(private router: Router) {\r\n this.router.events.subscribe((event: Event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.currentUrl.next(event.urlAfterRedirects);\r\n }\r\n });\r\n }\r\n\r\n public closeNav() {\r\n this.appDrawer.close();\r\n }\r\n\r\n public openNav() {\r\n this.appDrawer.open();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nimport { Observable, Subject } from \"rxjs\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class CartService {\r\n configConstant = constEnv;\r\n\r\n private cartCountSubject = new Subject();\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n sendCartCountEvent() {\r\n this.cartCountSubject.next([]);\r\n }\r\n\r\n getCartCountEvent(): Observable {\r\n return this.cartCountSubject.asObservable();\r\n }\r\n\r\n getCartCount() {\r\n return this.http\r\n .get(`${this.configConstant.apiURL}/getShoppingCartCount`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getCart(\r\n addressId: number = 0,\r\n IsBuyNow: boolean = false,\r\n ProductId: number = 0\r\n ) {\r\n const params = new HttpParams()\r\n .set(\"CustomerAddressId\", addressId.toString())\r\n .set(\"IsBuyNow\", IsBuyNow.toString())\r\n .set(\"ProductId\", ProductId.toString());\r\n\r\n return this.http\r\n .post(\r\n `${this.configConstant.apiURL}/ShoppingCart`,\r\n {},\r\n {\r\n params: params,\r\n }\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getBuyNow(productId: number, addressId: number = 0, itemQty: number = 1) {\r\n const params = new HttpParams()\r\n .set(\"StoreId\", \"0\")\r\n .set(\"ProductId\", productId.toString())\r\n .set(\"ItemQuantity\", itemQty.toString())\r\n .set(\"IsBuyNow\", \"true\")\r\n .set(\"CustomerAddressId\", addressId.toString());\r\n\r\n return this.http\r\n .post(\r\n `${this.configConstant.apiURL}/ShoppingCart/BuyNow`,\r\n {},\r\n {\r\n params: params,\r\n }\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n removeFromCart(recordId: number, addressId: number = 0) {\r\n const params = new HttpParams().set(\r\n \"CustomerAddressId\",\r\n addressId.toString()\r\n );\r\n\r\n return this.http\r\n .post(\r\n `${this.configConstant.apiShopingCartURL}/RemoveFromCart/${recordId}`,\r\n {},\r\n {\r\n params: params,\r\n }\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n updateCart(formData, isBuyNow: boolean = false, addressId: number = 0) {\r\n const params = new HttpParams()\r\n .set(\"IsBuyNow\", isBuyNow.toString())\r\n .set(\"customerAddressId\", addressId.toString());\r\n\r\n return this.http\r\n .post(`${this.configConstant.apiShopingCartURL}/UpdateCart`, formData, {\r\n params,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n updateDeliveryDate(recordId: number, date: string) {\r\n return this.http\r\n .post(\r\n `${this.configConstant.apiShopingCartURL}/UpdateDeliveryPlanDate/${recordId}/${date}`,\r\n {}\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getCustomerCoupons() {\r\n return this.http.get(`${this.configConstant.apiCustomerURL}/coupons`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n applyPromoCode(\r\n promoCode: string,\r\n isBuyNow: boolean = false,\r\n productId: number = 0,\r\n addressId: number = 0\r\n ) {\r\n const params = new HttpParams()\r\n .set(\"promocode\", promoCode)\r\n .set(\"isBuyNow\", isBuyNow.toString())\r\n .set(\"productId\", productId.toString())\r\n .set(\"addressId\", addressId.toString());\r\n\r\n return this.http\r\n .post(\r\n `${this.configConstant.apiShopingCartURL}/AddCouponCode/`,\r\n {},\r\n {\r\n params: params,\r\n }\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n removePromoCode(\r\n isBuyNow: boolean = false,\r\n productId: number = 0,\r\n addressId: number = 0\r\n ) {\r\n const params = new HttpParams()\r\n .set(\"IsBuyNow\", isBuyNow.toString())\r\n .set(\"ProductId\", productId.toString())\r\n .set(\"CustomerAddressId\", addressId.toString());\r\n\r\n return this.http\r\n .post(\r\n `${this.configConstant.apiShopingCartURL}/RemoveCouponCode/`,\r\n {},\r\n {\r\n params,\r\n }\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n makePayment(formData) {\r\n return this.http\r\n .post(\r\n `${this.configConstant.apiURL}/pay`,\r\n {},\r\n {\r\n params: formData,\r\n }\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n checkOrderQty(formData) {\r\n return this.http\r\n .post(\r\n `${this.configConstant.apiURL}/isOrderPlaced`,\r\n {},\r\n {\r\n params: formData,\r\n }\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n checkPaymentStatus(formData) {\r\n return this.http\r\n .post(\r\n `${this.configConstant.apiURL}/checkstatus`,\r\n {},\r\n {\r\n params: formData,\r\n }\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { LanguageService } from \"../language.service\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class SiteDesignerService {\r\n configConstant = constEnv;\r\n\r\n constructor(private http: HttpClient, private ls: LanguageService) {}\r\n\r\n getDesignerCatalogList(productParams) {\r\n const searchParams = new HttpParams()\r\n .set(\r\n \"PageNo\",\r\n productParams.PageNo > 0 ? productParams.PageNo.toString() : \"0\"\r\n )\r\n .set(\"PageSize\", productParams.PageSize.toString());\r\n\r\n return this.http\r\n .get(`${this.configConstant.apiCustomerURL}/getdesignerpicks`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getDesignerCatalogDetail(catalogId: number) {\r\n return this.http\r\n .get(`${this.configConstant.apiCustomerURL}/getdesignerpick/${catalogId}`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getDesignerReviews(params: any) {\r\n const searchParams = new HttpParams()\r\n .set(\"DesignerId\", params.DesignerId.toString())\r\n .set(\"Rating\", params.Rating.toString())\r\n .set(\"PageNo\", params.PageNo > 0 ? params.PageNo.toString() : \"0\")\r\n .set(\"PageSize\", params.PageSize.toString());\r\n\r\n return this.http\r\n .get(`${this.configConstant.apiCustomerURL}/getdesignerreviews`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { map } from 'rxjs/operators';\r\nimport { LanguageService } from '../language.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SiteGeneralService {\r\n configConstant = constEnv;\r\n\r\n constructor(private http: HttpClient, private ls: LanguageService) {\r\n }\r\n\r\n getHome() {\r\n const langId = this.ls.getCurrentLanguageId();\r\n const param = new HttpParams()\r\n .set('LanguageId', langId);\r\n\r\n return this.http.get(`${this.configConstant.apiSiteURL}/home`,{\r\n params: param\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { ProductFilerSortParam } from \"src/app/e-commerce/category/category.component\";\r\nimport { LanguageService } from \"../language.service\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class SiteProductService {\r\n configConstant = constEnv;\r\n\r\n constructor(private http: HttpClient, private ls: LanguageService) {}\r\n\r\n getProductFilter(categoyId: number, subCategoryId: number = 0) {\r\n const langId = this.ls.getCurrentLanguageId();\r\n const searchParams = new HttpParams()\r\n .set(\"LanguageId\", langId)\r\n .set(\"CategoryId\", categoyId.toString())\r\n .set(\"SubCategoryIds\", subCategoryId > 0 ? subCategoryId.toString() : \"\");\r\n\r\n return this.http\r\n .get(`${this.configConstant.apiSiteURL}/getfilterlist`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getProductList(productParams: ProductFilerSortParam) {\r\n const searchParams = new HttpParams()\r\n .set(\"LanguageId\", this.ls.getCurrentLanguageId())\r\n .set(\"CategoryId\", productParams.CategoryId.toString())\r\n .set(\"SubCategoryIds\", productParams.SubCategoryIds)\r\n .set(\"SearchColumn\", productParams.SearchColumn)\r\n .set(\"SearchValue\", productParams.SearchValue)\r\n .set(\"SortColumn\", productParams.SortColumn)\r\n .set(\"SortOrder\", productParams.SortOrder)\r\n .set(\"BrandIds\", productParams.BrandIds)\r\n .set(\"AttributeValueIds\", productParams.AttributeValueIds)\r\n .set(\r\n \"PageNo\",\r\n productParams.PageNo > 0 ? productParams.PageNo.toString() : \"0\"\r\n )\r\n .set(\"PageSize\", productParams.PageSize.toString())\r\n .set(\"TagId\", productParams.TagId);\r\n\r\n return this.http\r\n .get(`${this.configConstant.apiSiteURL}/productlist`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getHotDealList(productParams: ProductFilerSortParam) {\r\n const searchParams = new HttpParams()\r\n .set(\"LanguageId\", this.ls.getCurrentLanguageId())\r\n .set(\"CategoryId\", productParams.CategoryId.toString())\r\n .set(\"SubCategoryIds\", productParams.SubCategoryIds)\r\n .set(\"SearchColumn\", productParams.SearchColumn)\r\n .set(\"SearchValue\", productParams.SearchValue)\r\n .set(\"SortColumn\", productParams.SortColumn)\r\n .set(\"SortOrder\", productParams.SortOrder)\r\n .set(\"BrandIds\", productParams.BrandIds)\r\n .set(\"AttributeValueIds\", productParams.AttributeValueIds)\r\n .set(\r\n \"PageNo\",\r\n productParams.PageNo > 0 ? productParams.PageNo.toString() : \"0\"\r\n )\r\n .set(\"PageSize\", productParams.PageSize.toString());\r\n\r\n return this.http\r\n .get(`${this.configConstant.apiCustomerURL}/hotdeals`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n // getTagWiseProductList( productParams: ProductFilerSortParam ) {\r\n\r\n // const searchParams = new HttpParams()\r\n // .set('LanguageId', this.ls.getCurrentLanguageId())\r\n // .set('CategoryId', productParams.CategoryId.toString())\r\n // .set('SubCategoryIds', productParams.SubCategoryIds)\r\n // .set('SearchColumn', productParams.SearchColumn)\r\n // .set('SearchValue', productParams.SearchValue)\r\n // .set('SortColumn', productParams.SortColumn)\r\n // .set('SortOrder', productParams.SortOrder)\r\n // .set('BrandIds', productParams.BrandIds)\r\n // .set('AttributeValueIds', productParams.AttributeValueIds)\r\n // .set('PageNo', (productParams.PageNo > 0) ? productParams.PageNo.toString() : '0')\r\n // .set('PageSize', productParams.PageSize.toString())\r\n // .set('TagId', productParams.toString());\r\n\r\n // return this.http.get(`${this.configConstant.apiCustomerURL}/p`, {\r\n // params: searchParams\r\n // })\r\n // .pipe(map(data => {\r\n // return data;\r\n // }));\r\n // }\r\n\r\n getLastMinuteDealList(productParams: ProductFilerSortParam) {\r\n const searchParams = new HttpParams()\r\n .set(\"LanguageId\", this.ls.getCurrentLanguageId())\r\n .set(\"CategoryId\", productParams.CategoryId.toString())\r\n .set(\"SubCategoryIds\", productParams.SubCategoryIds)\r\n .set(\"SearchColumn\", productParams.SearchColumn)\r\n .set(\"SearchValue\", productParams.SearchValue)\r\n .set(\"SortColumn\", productParams.SortColumn)\r\n .set(\"SortOrder\", productParams.SortOrder)\r\n .set(\"BrandIds\", productParams.BrandIds)\r\n .set(\"AttributeValueIds\", productParams.AttributeValueIds)\r\n .set(\r\n \"PageNo\",\r\n productParams.PageNo > 0 ? productParams.PageNo.toString() : \"0\"\r\n )\r\n .set(\"PageSize\", productParams.PageSize.toString());\r\n\r\n return this.http\r\n .get(`${this.configConstant.apiCustomerURL}/getlastminutedeals`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getProductDetail(productId: number, variationId: number = 0) {\r\n const searchParams = new HttpParams()\r\n .set(\"LanguageId\", this.ls.getCurrentLanguageId())\r\n .set(\"pid\", productId.toString())\r\n .set(\"vid\", variationId.toString());\r\n\r\n return this.http\r\n .get(`${this.configConstant.apiSiteURL}/productdetail`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getProductVariationDetail(productId: number, variationIds: any) {\r\n return this.http\r\n .post(\r\n `${this.configConstant.apiCustomerURL}/getvariation?pid=${productId}`,\r\n variationIds\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getProductReviews(reviewParams: any) {\r\n const searchParams = new HttpParams()\r\n .set(\"ProductId\", reviewParams.ProductId.toString())\r\n .set(\"PageNo\", reviewParams.PageNo.toString())\r\n .set(\r\n \"Rating\",\r\n reviewParams.Rating > 0 ? reviewParams.Rating.toString() : \"\"\r\n )\r\n .set(\"PageSize\", reviewParams.PageSize.toString());\r\n\r\n return this.http\r\n .get(`${this.configConstant.apiCustomerURL}/getproductreviewsbyId`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n addToWishList(params) {\r\n return this.http\r\n .post(`${this.configConstant.apiCustomerURL}/addwishList`, params)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n deleteWishlist(wishlistId: number) {\r\n const searchParams = new HttpParams().set(\"id\", wishlistId.toString());\r\n\r\n return this.http\r\n .get(`${this.configConstant.apiCustomerURL}/deletewishList/${wishlistId}`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getCustomerReview(productId) {\r\n return this.http\r\n .get(`${this.configConstant.apiCustomerURL}/addreview/${productId}`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n addToCart(formData) {\r\n return this.http\r\n .post(`${this.configConstant.apiShopingCartURL}/AddToCart`, formData)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getProductTypePageLists() {\r\n const productTypeLists = [\r\n { id: 1, title: \"Best_Seller\", slug: \"best-sellers\", type: \"tag\" },\r\n { id: 2, title: \"NewArrivals\", slug: \"new-arrivals\", type: \"tag\" },\r\n ];\r\n\r\n return productTypeLists;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from 'common/services/authentication.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class CategoryService {\r\n currentUserProfile;\r\n configConstant = constEnv;\r\n constructor(private http: HttpClient, private authenticationService: AuthenticationService) {\r\n this.currentUserProfile = this.authenticationService.currentUserProfileValue;\r\n }\r\n\r\n getAll( dataTablesParameters ) {\r\n\r\n let searchValue = ''; let searchBy = '';\r\n if ( dataTablesParameters.search.value !== '' ) {\r\n searchValue = dataTablesParameters.search.value;\r\n searchBy = dataTablesParameters.search.column;\r\n }\r\n const searchParams = new HttpParams()\r\n .set('searchColumn', searchBy)\r\n .set('searchValue', searchValue)\r\n .set('pageNo', dataTablesParameters.start)\r\n .set('pageSize', dataTablesParameters.length)\r\n .set('sortColumn', '')\r\n .set('sortOrder', '');\r\n\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getallcategories`, {\r\n params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n get( catId ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getcategory/${catId}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n add( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/category/add`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n update( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/category/update`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n action( action, formData ) {\r\n if (action === 'add') {\r\n return this.add(formData);\r\n } else {\r\n return this.update(formData);\r\n }\r\n }\r\n\r\n delete(id: number) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/category/delete/${id}`, {});\r\n }\r\n\r\n changeStatus(cateID: number, status: number) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/category/status/${cateID}/${status}`, {});\r\n }\r\n\r\n // sub caregory\r\n\r\n getAllMainCategories( catId = 0 ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/categories`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getSubCategoryAll( dataTablesParameters ) {\r\n\r\n let searchValue = ''; let searchBy = '';\r\n if ( dataTablesParameters.search.value !== '' ) {\r\n searchValue = dataTablesParameters.search.value;\r\n searchBy = dataTablesParameters.search.column;\r\n }\r\n const pageNo = (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n const searchParams = new HttpParams()\r\n .set('searchColumn', searchBy)\r\n .set('searchValue', searchValue)\r\n .set('pageNo', pageNo.toString())\r\n .set('pageSize', dataTablesParameters.length)\r\n .set('sortColumn', '')\r\n .set('sortOrder', '');\r\n\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getallsubcategories`, {\r\n params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n subCategoryGet( subCatId ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getsubcategory/${subCatId}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n deleteSubCategory(id: number) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/subcategory/delete/${id}`, {});\r\n }\r\n\r\n changeStatusSubCategory(subCateID: number, status: number) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/subcategory/status/${subCateID}/${status}`, {});\r\n }\r\n\r\n subCategoeryAdd( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/subcategory/add`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n subCategoeryUpdate( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/subcategory/update`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n subCategoeryAction( action, formData ) {\r\n if (action === 'add') {\r\n return this.subCategoeryAdd(formData);\r\n } else {\r\n return this.subCategoeryUpdate(formData);\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class DesignerService {\r\n currentUserProfile;\r\n configConstant = constEnv;\r\n apiURL = this.configConstant.apiDesignerURL;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private authenticationService: AuthenticationService\r\n ) {\r\n this.currentUserProfile =\r\n this.authenticationService.currentUserProfileValue;\r\n }\r\n\r\n forgotPassword(email) {\r\n const requestData = new HttpParams().set(\"email\", email);\r\n\r\n return this.http\r\n .post(`${this.apiURL}/forgotpassword`, requestData, {\r\n params: requestData,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n resetPassword(accessToken, newPassword) {\r\n const requestHeader = {\r\n \"Content-Type\": \"application/json\",\r\n };\r\n\r\n // const requestData = new HttpParams()\r\n // .set(\"AccessToken\", accessToken)\r\n // .set(\"NewPassword\", newPassword);\r\n const requestData = {\r\n accessToken: accessToken,\r\n newPassword: newPassword,\r\n };\r\n\r\n return this.http\r\n .post(`${this.apiURL}/resetpassword`, requestData, {\r\n headers: requestHeader,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from 'common/services/authentication.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DriverService {\r\n currentUserProfile;\r\n configConstant = constEnv;\r\n constructor(private http: HttpClient, private authenticationService: AuthenticationService) {\r\n this.currentUserProfile = this.authenticationService.currentUserProfileValue;\r\n }\r\n\r\n getAll( dataTablesParameters = [] ) {\r\n\r\n // let searchValue = ''; let searchBy = '';\r\n // if ( dataTablesParameters.search.value !== '' ) {\r\n // searchValue = dataTablesParameters.search.value;\r\n // searchBy = dataTablesParameters.search.column;\r\n // }\r\n // const searchParams = new HttpParams()\r\n // .set('searchColumn', searchBy)\r\n // .set('searchValue', searchValue)\r\n // .set('pageNo', dataTablesParameters.start)\r\n // .set('pageSize', dataTablesParameters.length)\r\n // .set('sortColumn', '')\r\n // .set('sortOrder', '');\r\n\r\n return this.http.get(`${this.configConstant.apiStoreURL}/driverlist`, {\r\n // params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n get( driverId: number ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getdriverbyid/${driverId}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n add( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/adddriver`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n update( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/updatedriver`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n action( action, formData ) {\r\n if (action === 'add') {\r\n return this.add(formData);\r\n } else {\r\n return this.update(formData);\r\n }\r\n }\r\n\r\n delete(id: number) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/deletedriver/${id}`, {});\r\n }\r\n\r\n updateDocument( driverId: number, formData ) {\r\n return this.http.post(`${this.configConstant.apiDriverURL}/document/update?DriverId=${driverId}`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n verifyDriverProfile( driverId ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/verifydriver/${driverId}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class FeedbackService {\r\n configConstant = constEnv;\r\n constructor(private http: HttpClient) {}\r\n\r\n getFeedbacks(type: number, dataTablesParameters) {\r\n // let searchValue = \"\";\r\n // let searchBy = \"\";\r\n // if (dataTablesParameters.search.value !== \"\") {\r\n // searchValue = dataTablesParameters.search.value;\r\n // searchBy = dataTablesParameters.search.column;\r\n // }\r\n\r\n const pageNo =\r\n (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n\r\n const searchParams = new HttpParams()\r\n // .set('searchColumn', searchBy)\r\n // .set('searchValue', searchValue)\r\n .set(\"PageNo\", pageNo.toString())\r\n .set(\"PageSize\", dataTablesParameters.length);\r\n // .set('sortColumn', '')\r\n // .set('sortOrder', '');\r\n\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/getfeedback?Id=${type}`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getStoreReviews(pageNo, pageSize) {\r\n const searchParams = new HttpParams()\r\n .set(\"PageNo\", pageNo.toString())\r\n .set(\"PageSize\", pageSize.toString());\r\n\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/getreview`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HelpSupportService {\r\n configConstant = constEnv;\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getAll( dataTablesParameters ) {\r\n\r\n let searchValue = ''; let searchBy = '';\r\n if ( dataTablesParameters.search.value !== '' ) {\r\n searchValue = dataTablesParameters.search.value;\r\n searchBy = dataTablesParameters.search.column;\r\n }\r\n\r\n const pageNo = (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n\r\n const searchParams = new HttpParams()\r\n .set('searchColumn', searchBy)\r\n .set('searchValue', searchValue)\r\n .set('pageNo', pageNo.toString())\r\n .set('pageSize', dataTablesParameters.length)\r\n .set('sortColumn', '')\r\n .set('sortOrder', '');\r\n\r\n return this.http.get(`${this.configConstant.apiStoreURL}/gesupportlist`, {\r\n params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n get( Id ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getticketbyid/${Id}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n add( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/appsupport`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n // update( formData ) {\r\n // return this.http.post(`${this.configConstant.apiStoreURL}/category/update`, formData)\r\n // .pipe(map(data => {\r\n // return data;\r\n // }));\r\n // }\r\n\r\n delete(id: number) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/category/delete/${id}`, {});\r\n }\r\n\r\n changeStatus(cateID: number, status: number) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/category/status/${cateID}/${status}`, {});\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { map } from 'rxjs/operators';\r\nimport { ProductList } from 'common/_models/site/product-list.modal';\r\nimport { of } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LastminuteDealService {\r\n \r\n configConstant = constEnv;\r\n constructor(private http: HttpClient) { \r\n }\r\n\r\n getAll( dataTablesParameters ) { \r\n const pageNo = (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n\r\n const searchParams = new HttpParams()\r\n .set('pageNo', pageNo.toString())\r\n .set('pageSize', dataTablesParameters.length);\r\n\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getlastminutedeals`, {\r\n params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getLastMinuteDeal( Id ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getlastminutedeal/${Id}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n changeLMDealStatus( id: number, status: boolean ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/updatelastminutedealstatus/${id}/${status}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n searchProductList( searchText: string ) {\r\n\r\n if ( searchText ) {\r\n const searchParams = new HttpParams() \r\n .set('searchString', searchText);\r\n\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getproductlist/`, {\r\n params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data['data'];\r\n }));\r\n } else {\r\n return of([]).pipe();\r\n }\r\n }\r\n\r\n getProductInfo( productId: number ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/createlastminutedeal/${productId}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n createLastMinuteDeal( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/createlastminutedeal`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n deleteLastMinuteDeal( id: number ) {\r\n return this.http.delete(`${this.configConstant.apiStoreURL}/deletelastminutedeal/${id}` );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { map } from 'rxjs/operators';\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NotificationService { \r\n configConstant = constEnv;\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getNotifications( dataTablesParameters ) {\r\n let searchValue = ''; let searchBy = '';\r\n if ( dataTablesParameters.search.value !== '' ) {\r\n searchValue = dataTablesParameters.search.value;\r\n searchBy = dataTablesParameters.search.column;\r\n }\r\n\r\n const pageNo = (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n\r\n const searchParams = new HttpParams()\r\n // .set('searchColumn', searchBy)\r\n // .set('searchValue', searchValue)\r\n .set('PageNo', pageNo.toString())\r\n .set('PageSize', dataTablesParameters.length);\r\n // .set('sortColumn', '')\r\n // .set('sortOrder', '');\r\n\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getnotification`, {\r\n params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from 'common/services/authentication.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class OfferService {\r\n currentUserProfile;\r\n configConstant = constEnv;\r\n constructor(private http: HttpClient, private authenticationService: AuthenticationService) {\r\n this.currentUserProfile = this.authenticationService.currentUserProfileValue;\r\n }\r\n\r\n getOffers() {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/storedealslist`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { formatDate } from \"@angular/common\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class OrderService {\r\n apiUrl = \"\";\r\n configConstant = constEnv;\r\n constructor(private http: HttpClient) {\r\n this.apiUrl = this.configConstant.apiStoreURL;\r\n }\r\n\r\n getAllOrders(dataTablesParameters) {\r\n let searchValue = \"\";\r\n let searchBy = \"\";\r\n let orderNo = \"\";\r\n if (dataTablesParameters.search.value !== \"\") {\r\n searchValue = dataTablesParameters.search.value;\r\n searchBy = dataTablesParameters.search.column;\r\n\r\n if (searchBy === \"OrderId\") {\r\n searchBy = \"\";\r\n orderNo = searchValue;\r\n searchValue = \"\";\r\n }\r\n }\r\n\r\n let dateTimeFrom = \"\";\r\n let dateTimeTo = \"\";\r\n if (\r\n dataTablesParameters.search.dateTimeForm !== \"\" &&\r\n dataTablesParameters.search.dateTimeTo !== \"\"\r\n ) {\r\n dateTimeFrom =\r\n typeof dataTablesParameters.search.dateTimeForm !== \"undefined\"\r\n ? dataTablesParameters.search.dateTimeForm\r\n : \"\";\r\n dateTimeTo =\r\n typeof dataTablesParameters.search.dateTimeTo !== \"undefined\"\r\n ? dataTablesParameters.search.dateTimeTo\r\n : \"\";\r\n }\r\n\r\n const pageNo =\r\n (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n const searchParams = new HttpParams()\r\n .set(\"searchColumn\", searchBy)\r\n .set(\"searchValue\", searchValue)\r\n .set(\"pageNo\", pageNo.toString())\r\n .set(\"pageSize\", dataTablesParameters.length)\r\n .set(\"sortColumn\", \"\")\r\n .set(\"sortOrder\", \"\")\r\n .set(\"OrderId\", orderNo)\r\n .set(\"dateTimeForm\", dateTimeFrom)\r\n .set(\"dateTimeTo\", dateTimeTo);\r\n\r\n return this.http\r\n .get(`${this.apiUrl}/getorder`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getProcessingOrders(dataTablesParameters) {\r\n let searchValue = \"\";\r\n let searchBy = \"\";\r\n if (dataTablesParameters.search.value !== \"\") {\r\n searchValue = dataTablesParameters.search.value;\r\n searchBy = dataTablesParameters.search.column;\r\n }\r\n\r\n const pageNo =\r\n (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n\r\n const searchParams = new HttpParams()\r\n .set(\"searchColumn\", searchBy)\r\n .set(\"searchValue\", searchValue)\r\n .set(\"pageNo\", pageNo.toString())\r\n .set(\"pageSize\", dataTablesParameters.length)\r\n .set(\"sortColumn\", \"\")\r\n .set(\"sortOrder\", \"\");\r\n\r\n return this.http\r\n .get(`${this.apiUrl}/getprocessorder`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getDetail(id) {\r\n return this.http.get(`${this.apiUrl}/getorderbyid/${id}`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getOrdersEarnings(dataTablesParameters) {\r\n let fromDate = \"\";\r\n let toDate = \"\";\r\n if (\r\n dataTablesParameters.search.dateTimeForm !== \"\" &&\r\n dataTablesParameters.search.dateTimeTo !== \"\"\r\n ) {\r\n fromDate =\r\n typeof dataTablesParameters.search.dateTimeForm !== \"undefined\"\r\n ? dataTablesParameters.search.dateTimeForm\r\n : \"\";\r\n toDate =\r\n typeof dataTablesParameters.search.dateTimeTo !== \"undefined\"\r\n ? dataTablesParameters.search.dateTimeTo\r\n : \"\";\r\n }\r\n const pageNo =\r\n typeof dataTablesParameters.start !== \"undefined\"\r\n ? dataTablesParameters.start\r\n : 0;\r\n const perPage =\r\n typeof dataTablesParameters.length !== \"undefined\"\r\n ? dataTablesParameters.length\r\n : 10;\r\n\r\n const CurpageNo = (pageNo * 1) / (perPage * 1);\r\n\r\n const searchParams = new HttpParams()\r\n // .set('searchColumn', '')\r\n // .set('searchValue', '')\r\n .set(\"PageNo\", CurpageNo.toString())\r\n .set(\"PageSize\", perPage)\r\n .set(\r\n \"FromDate\",\r\n fromDate !== \"\" ? formatDate(fromDate, \"yyyy-MM-dd\", \"en-US\") : \"\"\r\n )\r\n .set(\r\n \"ToDate\",\r\n toDate !== \"\" ? formatDate(toDate, \"yyyy-MM-dd\", \"en-US\") : \"\"\r\n );\r\n // .set('sortColumn', '')\r\n // .set('sortOrder', '');\r\n\r\n return this.http\r\n .get(`${this.apiUrl}/getearning`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getCompletedOrdersEarnings(fromDate, toDate, paging) {\r\n const formData = {\r\n FromDate: formatDate(fromDate, \"yyyy-MM-dd\", \"en-US\"),\r\n ToDate: formatDate(toDate, \"yyyy-MM-dd\", \"en-US\"),\r\n };\r\n\r\n const pageNo = typeof paging.page !== \"undefined\" ? paging.page : 0;\r\n const perPage =\r\n typeof paging.itemsPerPage !== \"undefined\" ? paging.itemsPerPage : 10;\r\n\r\n const searchParams = new HttpParams()\r\n .set(\"searchColumn\", \"\")\r\n .set(\"searchValue\", \"\")\r\n .set(\"pageNo\", pageNo)\r\n .set(\"pageSize\", perPage)\r\n .set(\"sortColumn\", \"\")\r\n .set(\"sortOrder\", \"\");\r\n\r\n return this.http\r\n .post(`${this.apiUrl}/getearningcompleteorder`, formData, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getCancelOrdersEarnings(fromDate, toDate, paging) {\r\n const formData = {\r\n FromDate: formatDate(fromDate, \"yyyy-MM-dd\", \"en-US\"),\r\n ToDate: formatDate(toDate, \"yyyy-MM-dd\", \"en-US\"),\r\n };\r\n\r\n const pageNo = typeof paging.page !== \"undefined\" ? paging.page : 0;\r\n const perPage =\r\n typeof paging.itemsPerPage !== \"undefined\" ? paging.itemsPerPage : 10;\r\n\r\n const searchParams = new HttpParams()\r\n .set(\"searchColumn\", \"\")\r\n .set(\"searchValue\", \"\")\r\n .set(\"pageNo\", pageNo)\r\n .set(\"pageSize\", perPage)\r\n .set(\"sortColumn\", \"\")\r\n .set(\"sortOrder\", \"\");\r\n\r\n return this.http\r\n .post(`${this.apiUrl}/getearningcancelorder`, formData, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getWallet(dataTablesParameters) {\r\n let fromDate = \"\";\r\n let toDate = \"\";\r\n if (\r\n dataTablesParameters.search.dateFrom !== \"\" &&\r\n dataTablesParameters.search.dateTo !== \"\"\r\n ) {\r\n fromDate = dataTablesParameters.search.dateFrom;\r\n toDate = dataTablesParameters.search.dateTo;\r\n }\r\n\r\n const formData = {\r\n FromDate: fromDate,\r\n ToDate: toDate,\r\n };\r\n\r\n const pageNo =\r\n (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n\r\n const searchParams = new HttpParams()\r\n .set(\"searchColumn\", \"\")\r\n .set(\"searchValue\", \"\")\r\n .set(\"pageNo\", pageNo.toString())\r\n .set(\"pageSize\", dataTablesParameters.length)\r\n .set(\"sortColumn\", \"\")\r\n .set(\"sortOrder\", \"\");\r\n\r\n return this.http\r\n .post(`${this.apiUrl}/GetWallet`, formData, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n sendWithdrawRequest(formData) {\r\n return this.http.post(`${this.apiUrl}/addwallet`, formData).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getOrderStatistics(year) {\r\n return this.http.get(`${this.apiUrl}/getorderstatistics/${year}`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n // Cancel Requests\r\n getCancelRequestLists(dataTablesParameters) {\r\n let searchValue = \"\";\r\n let searchBy = \"\";\r\n // if ( dataTablesParameters.search.value !== '' ) {\r\n // searchValue = dataTablesParameters.search.value;\r\n // searchBy = dataTablesParameters.search.column;\r\n // }\r\n\r\n const pageNo =\r\n (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n const searchParams = new HttpParams()\r\n .set(\"SearchColumn\", searchBy)\r\n .set(\"SearchValue\", searchValue)\r\n .set(\"PageNo\", pageNo.toString())\r\n .set(\"PageSize\", dataTablesParameters.length)\r\n .set(\"SortColumn\", \"\")\r\n .set(\"SortOrder\", \"\");\r\n\r\n return this.http\r\n .get(`${this.apiUrl}/getcancelticketlist`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getCancelRequestDetail(requestId: number) {\r\n return this.http.get(`${this.apiUrl}/getcancelicketbyid/${requestId}`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n createCancelOrderByStore(formData) {\r\n return this.http.post(`${this.apiUrl}/cancelorder`, formData).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n getCancelReasonOptions(deliveryType: number = 1) {\r\n return this.http.get(`${this.apiUrl}/cancelreason/${deliveryType}`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PotentialListService {\r\n configConstant = constEnv;\r\n apiUrl = '';\r\n\r\n constructor(private http: HttpClient) {\r\n this.apiUrl = `${this.configConstant.apiStoreURL}`;\r\n }\r\n\r\n getAllPotentialList( dataTablesParameters ) {\r\n let searchValue = ''; let searchBy = '';\r\n if ( dataTablesParameters.search.value !== '' ) {\r\n searchValue = dataTablesParameters.search.value;\r\n searchBy = dataTablesParameters.search.column;\r\n }\r\n\r\n let filterListType = '';\r\n if(dataTablesParameters.filterListType !== '') {\r\n filterListType = dataTablesParameters.filterListType;\r\n }\r\n\r\n const pageNo = (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n const searchParams = new HttpParams()\r\n // .set('SearchColumn', searchBy)\r\n // .set('SearchValue', searchValue)\r\n .set('PageNo', pageNo.toString())\r\n .set('PageSize', dataTablesParameters.length)\r\n .set('ListType', filterListType)\r\n // .set('ApplyOfferFilter', '')\r\n // .set('GetWithOffer', '');\r\n\r\n return this.http.get(`${this.apiUrl}/getpotentiallist`, {\r\n params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { map } from 'rxjs/operators';\r\nimport { ProductCategory } from 'common/_models/store/productCategory.model';\r\nimport { ProductType } from 'common/_models/store/productType.model';\r\nimport { ProductBrand } from 'common/_models/store/productBrand.model';\r\nimport { ProductTag } from 'common/_models/store/productTag.model';\r\nimport { ProductLabel } from 'common/_models/store/productLabel.model';\r\nimport { Observable, of } from 'rxjs';\r\nimport { ProductLinked } from 'common/_models/store/product.model';\r\nimport { ProductTheme } from 'common/_models/store/productTheme.model';\r\nimport { ProductAttribute } from 'common/_models/store/productAttribute.model';\r\nimport { ProductServiceType } from 'common/_models/store/productServiceType.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ProductService {\r\n configConstant = constEnv;\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getAll( paging, search: any = [] ) {\r\n const searchBy = (typeof search.searchBy !== 'undefined') ? search.searchBy : '';\r\n const searchValue = (typeof search.searchValue !== 'undefined') ? search.searchValue : '';\r\n const searchParams = new HttpParams()\r\n .set('searchColumn', searchBy)\r\n .set('searchValue', searchValue)\r\n .set('pageNo', (paging.page).toString())\r\n .set('pageSize', paging.itemsPerPage)\r\n .set('sortColumn', '')\r\n .set('sortOrder', '');\r\n\r\n return this.http.get(`${this.configConstant.apiStoreURL}/productlist`, {\r\n params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n get( id ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getproduct/${id}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n add( formData ) {\r\n\r\n return this.http.post(`${this.configConstant.apiStoreURL}/product/add`, formData )\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n edit( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/product/edit`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n delete(id: number) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/product/delete/${id}`, {});\r\n }\r\n\r\n changeStatus(id: any, status: any) {\r\n const updatedStatus= status == true ? 0 : 1;\r\n return this.http.get(`${this.configConstant.apiStoreURL}/product/status/${id}/${updatedStatus}`, {});\r\n }\r\n\r\n publishProduct(id: any, status: any) {\r\n const updatedStatus = status == true ? true : true;\r\n return this.http.patch(`${this.configConstant.apiStoreURL}/product/publish/${id},${updatedStatus}`, {});\r\n }\r\n\r\n getDropDownValues() {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/AddNewProduct`);\r\n }\r\n\r\n getSubCategortLists( catId: number ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/GetSubCategoryByCategoryId/${catId}`);\r\n }\r\n\r\n getProductDropDownModels( dropDownValues ) {\r\n const dpValues = {\r\n categoryLists: dropDownValues.categories.map( list => new ProductCategory().deserialize(list) ),\r\n productTypes: dropDownValues.productType.map( list => new ProductType().deserialize(list) ),\r\n brands: dropDownValues.brand.map( list => new ProductBrand().deserialize(list) ),\r\n productTags: dropDownValues.productTags.map( list => new ProductTag().deserialize(list) ),\r\n productLabels: dropDownValues.productLabel.map( list => new ProductLabel().deserialize(list) ),\r\n themes: dropDownValues.themes.map( list => new ProductTheme().deserialize(list) ),\r\n colorPalettes: dropDownValues.colorPalette.map( list => new ProductTheme().deserialize(list) ),\r\n productServiceType: dropDownValues.productServiceType.map( list => new ProductServiceType().deserialize(list) ),\r\n spaceType: dropDownValues.spaceType.map( list => new ProductServiceType().deserialize(list) ),\r\n };\r\n\r\n return dpValues;\r\n }\r\n\r\n getLinkedProduct(term: string = null, pCat: number = 0, pType: number = 0): Observable {\r\n if (term) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/searchproduct/${pCat}/${pType}/${term}`)\r\n .pipe(map(data => {\r\n return data['data'];\r\n }));\r\n } else {\r\n return of([]).pipe();\r\n }\r\n }\r\n\r\n getSpecificationList( productId: number, specId: number = 0 ) {\r\n let specUrl = `${this.configConstant.apiStoreURL}/specification/?pid=${productId}`;\r\n if (specId > 0) {\r\n specUrl = `${this.configConstant.apiStoreURL}/specification/?id=${specId}&pid=${productId}`;\r\n }\r\n\r\n return this.http.get( specUrl )\r\n .pipe(map(data => {\r\n return data['data'];\r\n }));\r\n }\r\n\r\n addSpecification( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/specification/add`, formData )\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n deleteSpecification( id: number ) {\r\n return this.http.delete(`${this.configConstant.apiStoreURL}/specification/delete/?id=${id}` );\r\n }\r\n\r\n getProductAttributes( productId: number ) {\r\n return this.http.get( `${this.configConstant.apiStoreURL}/attributes/get/?pid=${productId}` )\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getEditAttributesAndValues( productId: number, attrId: number ) {\r\n return this.http.get( `${this.configConstant.apiStoreURL}/getattributesbyid?id=${attrId}&pid=${productId}` )\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getAttributeList( productId: number, attrId: number = 0, sercheTerm: string = '' ): Observable {\r\n let Url = `${this.configConstant.apiStoreURL}/attributes/?pid=${productId}`;\r\n if ( sercheTerm ) {\r\n Url = Url + `&searchValue=${sercheTerm}`;\r\n\r\n return this.http.get( Url )\r\n .pipe(map(data => {\r\n return data['data'];\r\n }));\r\n } else if (attrId > 0) {\r\n Url = `${this.configConstant.apiStoreURL}/attributes/?id=${attrId}&pid=${productId}`;\r\n\r\n return this.http.get( Url )\r\n .pipe(map(data => {\r\n return data['data'];\r\n }));\r\n } else {\r\n return of([]).pipe();\r\n }\r\n }\r\n\r\n addProductAttribute( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/attributes/add`, formData )\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n editProductAttribute( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/attributes/edit`, formData )\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n deleteAttribute( id: number ) {\r\n return this.http.delete(`${this.configConstant.apiStoreURL}/attributes/delete/?id=${id}` );\r\n }\r\n\r\n deleteAttributeValue( id: number ) {\r\n return this.http.delete(`${this.configConstant.apiStoreURL}/deleteattributevaluebyid/?id=${id}` );\r\n }\r\n\r\n getProductVariationLists( productId: number, pageNo = 1, pageSize = 10 ) {\r\n const searchParams = new HttpParams()\r\n .set('pageNo', pageNo.toString())\r\n .set('pageSize', pageSize.toString());\r\n\r\n return this.http.get( `${this.configConstant.apiStoreURL}/GetManageInventorylist/${productId}`, {\r\n params: searchParams\r\n } )\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n\r\n }\r\n\r\n getProductVariationInventoryDetail(\r\n productId: number,\r\n variationId: number = 0,\r\n isVariation: boolean = false,\r\n pageNo = 1,\r\n pageSize = 10\r\n ) {\r\n const searchParams = new HttpParams()\r\n .set('pageNo', pageNo.toString())\r\n .set('pageSize', pageSize.toString());\r\n\r\n return this.http.get( `${this.configConstant.apiStoreURL}/ViewManageInventorylist/${variationId}/${productId}/${isVariation}`, {\r\n params: searchParams\r\n } )\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n\r\n }\r\n\r\n\r\n // Product Variation Tab\r\n getProductVariations( productId: number ) {\r\n return this.http.get( `${this.configConstant.apiStoreURL}/getvariationbyproductid/${productId}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n createProductVariations( productId: number, type: string ) {\r\n return this.http.get( `${this.configConstant.apiStoreURL}/createvariation/${productId}/${type}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n insertUpdateVariation( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/insertupdatevariation`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n deleteVariation( id: number ) {\r\n return this.http.delete(`${this.configConstant.apiStoreURL}/variation/delete/?id=${id}` );\r\n }\r\n // END\r\n\r\n removeImage( itemId, typeId ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/deleteimage/${itemId}/${typeId}` );\r\n }\r\n}\r\n\r\n\r\nexport interface Specification {\r\n id: number;\r\n value: string;\r\n specNameLangId: number;\r\n}\r\n\r\nexport interface AttributeArray {\r\n id: number;\r\n value: string;\r\n swatcheTypeId?: number;\r\n swatcheType?: string; // 1 -> Label, 2 -> Image, 3 -> Color\r\n}\r\n\r\nexport interface EditAttributeArray {\r\n productAttribute: string;\r\n productAttributeId: number;\r\n productId: number;\r\n swatcheTypeId: number;\r\n swatcheTypeLabel: string;\r\n productAttValueList: ProductAttributeValueList[];\r\n}\r\n\r\nexport interface ProductAttributeValueList {\r\n id: number;\r\n swatcheTypeValue: string;\r\n productAttributeValue: string;\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { map } from 'rxjs/operators';\r\nimport { formatDate } from '@angular/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PromoCodeService {\r\n configConstant = constEnv;\r\n apiUrl = '';\r\n \r\n constructor(private http: HttpClient) {\r\n this.apiUrl = `${this.configConstant.apiStoreURL}`;\r\n }\r\n\r\n getAll( dataTablesParameters ) {\r\n let searchValue = ''; let searchBy = '';\r\n if ( dataTablesParameters.search.value !== '' ) {\r\n searchValue = dataTablesParameters.search.value;\r\n searchBy = dataTablesParameters.search.column;\r\n }\r\n\r\n let dateTimeFrom = ''; let dateTimeTo = '';\r\n if ( dataTablesParameters.search.dateTimeForm !== '' && dataTablesParameters.search.dateTimeTo !== '') {\r\n dateTimeFrom = dataTablesParameters.search.dateTimeForm;\r\n dateTimeTo = dataTablesParameters.search.dateTimeTo;\r\n }\r\n\r\n const pageNo = (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n const searchParams = new HttpParams()\r\n .set('searchColumn', searchBy)\r\n .set('searchValue', searchValue)\r\n .set('pageNo', pageNo.toString())\r\n .set('pageSize', dataTablesParameters.length)\r\n .set('sortColumn', '')\r\n .set('sortOrder', '')\r\n .set('dateTimeForm', dateTimeFrom)\r\n .set('dateTimeTo', dateTimeTo);\r\n\r\n return this.http.get(`${this.apiUrl}/promocode/getallpromocode`, {\r\n params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n get( id ) {\r\n return this.http.get(`${this.apiUrl}/promocode/getpromocodebyid/${id}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getCustomerList() {\r\n return this.http.get(`${this.apiUrl}/promocode/getstorecustomerlist`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n add( formData ) {\r\n return this.http.post(`${this.apiUrl}/storepromocode/add`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n update( formData ) {\r\n return this.http.post(`${this.apiUrl}/storepromocode/edit`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n action( action, formData ) {\r\n if (action === 'add') {\r\n return this.add(formData);\r\n } else {\r\n return this.update(formData);\r\n }\r\n }\r\n\r\n delete(id: number) {\r\n return this.http.post(`${this.apiUrl}/storepromocode/delete/${id}`, {});\r\n }\r\n\r\n changeStatus(id: number, status: number) {\r\n return this.http.post(`${this.apiUrl}/storepromocode/updatestatus/${id}/${status}`, {});\r\n }\r\n\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from 'common/services/authentication.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ReturnRequestService {\r\n currentUserProfile;\r\n configConstant = constEnv;\r\n constructor(private http: HttpClient, private authenticationService: AuthenticationService) {\r\n this.currentUserProfile = this.authenticationService.currentUserProfileValue;\r\n }\r\n\r\n getAllRequests( dtParameters ) {\r\n const pageNo = (dtParameters.start * 1) / (dtParameters.length * 1);\r\n\r\n const params = new HttpParams()\r\n // .set('searchColumn', searchBy)\r\n // .set('searchValue', searchValue)\r\n .set('PageNo', pageNo.toString())\r\n .set('PageSize', dtParameters.length);\r\n // .set('sortColumn', '')\r\n // .set('sortOrder', '');\r\n\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getreturnticketlist`, {\r\n params\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getRequestById( requestId: number ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getreturnticketbyid/${requestId}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { of } from \"rxjs\";\r\nimport {\r\n AutocompleteAddress,\r\n StoreAddressDetail,\r\n} from \"projects/store/src/app/pages/settings/pickup-address-list/pickup-address-list.component\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class SettingsService {\r\n configConstant = constEnv;\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n // Store settings\r\n getStoreData() {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getstore`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n updateStoreData(formData) {\r\n return this.http\r\n .post(`${this.configConstant.apiStoreURL}/updatestore`, formData)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n // Store Settings end\r\n\r\n // Time settings\r\n getTimeData() {\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/gettimeslotdata`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n updateTimeData(formData) {\r\n return this.http\r\n .post(`${this.configConstant.apiStoreURL}/updatetimeslotdata`, formData)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n // Time Settings end\r\n\r\n // Change Passowrd\r\n changePassword(formData) {\r\n return this.http\r\n .post(`${this.configConstant.apiStoreURL}/changepassword`, formData)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n // END\r\n\r\n // Stote Order Settings\r\n getOrderSettings() {\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/getstoreordersetting`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n updateOrderSettings(formData) {\r\n return this.http\r\n .post(\r\n `${this.configConstant.apiStoreURL}/updatestoreordersetting`,\r\n formData\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n // End Order Settings\r\n\r\n // Store Bank Settings\r\n getBankDetail() {\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/getbankdetails`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n updateBankDetail(formData) {\r\n return this.http\r\n .post(`${this.configConstant.apiStoreURL}/addeditbankdetails`, formData)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n // End Bank Settings\r\n\r\n // Store Policy Settings\r\n getPolicyDetail() {\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/getstorepolicy`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n updatePolicyDetail(formData) {\r\n return this.http\r\n .post(`${this.configConstant.apiStoreURL}/updatestorepolicy`, formData)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n // End Bank Settings\r\n\r\n // Document Management\r\n getDocumentLists() {\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/getrequireddocuments`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getUploadedDouments(docMgmtId) {\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/document/${docMgmtId}/view`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n addDocument(formData) {\r\n return this.http\r\n .post(`${this.configConstant.apiStoreURL}/document/add`, formData)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n updateDocument(formData) {\r\n return this.http\r\n .post(`${this.configConstant.apiStoreURL}/updatedocument`, formData)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n actionDocumentUpload(formData) {\r\n // if ( action === 'add' ) {\r\n // return this.addDocument(formData);\r\n // } else {\r\n return this.updateDocument(formData);\r\n // }\r\n }\r\n // END\r\n\r\n getCuisineLists() {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getcuisine`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getStoreReviews(paging) {\r\n const pageNo = typeof paging.page !== \"undefined\" ? paging.page : 0;\r\n const perPage =\r\n typeof paging.itemsPerPage !== \"undefined\" ? paging.itemsPerPage : 12;\r\n\r\n const searchParams = new HttpParams()\r\n .set(\"searchColumn\", \"\")\r\n .set(\"searchValue\", \"\")\r\n .set(\"pageNo\", pageNo)\r\n .set(\"pageSize\", perPage)\r\n .set(\"sortColumn\", \"\")\r\n .set(\"sortOrder\", \"\");\r\n\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/getreview`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n // Preffered Driver Section\r\n\r\n getPreferredDriverLists() {\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/GetPreferableDriverList`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n searchDriverData(formData) {\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/SearchPreferableDriver`, {\r\n params: formData,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n addPreferrableDriver(driverID) {\r\n return this.http\r\n .post(\r\n `${this.configConstant.apiStoreURL}/AddPreferableDriver`,\r\n {},\r\n {\r\n params: { driverId: driverID },\r\n }\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n addPreferrableDeliveryCompany(deliveryCompanyID) {\r\n return this.http\r\n .post(\r\n `${this.configConstant.apiStoreURL}/AddPreferableDeliveryCompany`,\r\n {},\r\n {\r\n params: { deliveryCompanyId: deliveryCompanyID },\r\n }\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n removePreferrableDriver(preferableId) {\r\n return this.http\r\n .post(\r\n `${this.configConstant.apiStoreURL}/RemovePreferableDriver`,\r\n {},\r\n {\r\n params: { PreferableId: preferableId },\r\n }\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n // End Preffered Driver Section\r\n\r\n // Store Pickup location\r\n getPickupaddressLists() {\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/getpickupaddresses`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n searchAddress(searchText: string) {\r\n if (searchText) {\r\n const searchParams = new HttpParams()\r\n .set(\"text\", searchText)\r\n .set(\"maxSuggestions\", \"20\")\r\n .set(\"f\", \"json\");\r\n\r\n return this.http\r\n .get(\r\n \"https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/suggest\",\r\n {\r\n params: searchParams,\r\n }\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data[\"suggestions\"];\r\n })\r\n );\r\n } else {\r\n return of([]).pipe();\r\n }\r\n }\r\n\r\n getAddressDetail(addressId, addressLine) {\r\n const params = new HttpParams()\r\n .set(\"forStorage\", \"false\")\r\n .set(\"outFields\", \"*\")\r\n .set(\"magicKey\", addressId)\r\n .set(\"SingleLine\", addressLine)\r\n .set(\"f\", \"json\");\r\n\r\n return this.http\r\n .get(\r\n \"https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/findAddressCandidates\",\r\n {\r\n params: params,\r\n }\r\n )\r\n .pipe(\r\n map((data) => {\r\n let addressDetail: StoreAddressDetail = null;\r\n if (data[\"candidates\"] && data[\"candidates\"].length > 0) {\r\n addressDetail = data[\"candidates\"][0] as StoreAddressDetail;\r\n }\r\n return addressDetail;\r\n })\r\n );\r\n }\r\n\r\n addPickupLocation(formData) {\r\n return this.http\r\n .post(`${this.configConstant.apiStoreURL}/addpickupaddress`, formData)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n updatePickupLocation(formData) {\r\n return this.http\r\n .post(`${this.configConstant.apiStoreURL}/updatepickupaddress`, formData)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n pickupLocationAction(action, formData) {\r\n if (action === \"update\") {\r\n return this.updatePickupLocation(formData);\r\n } else {\r\n return this.addPickupLocation(formData);\r\n }\r\n }\r\n\r\n getPickupAddressDetail(addressId: number) {\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/getpickupaddress/${addressId}`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n deletePickupAddress(id: number) {\r\n return this.http.delete(\r\n `${this.configConstant.apiStoreURL}/deletepickupaddress/${id}`\r\n );\r\n }\r\n\r\n // END\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from 'common/services/authentication.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SpecificationService {\r\n currentUserProfile;\r\n configConstant = constEnv;\r\n constructor(private http: HttpClient, private authenticationService: AuthenticationService) {\r\n this.currentUserProfile = this.authenticationService.currentUserProfileValue;\r\n }\r\n\r\n getAll( dataTablesParameters ) {\r\n\r\n let searchValue = ''; let searchBy = '';\r\n if ( dataTablesParameters.search.value !== '' ) {\r\n searchValue = dataTablesParameters.search.value;\r\n searchBy = dataTablesParameters.search.column;\r\n }\r\n \r\n const pageNo = (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n\r\n const searchParams = new HttpParams()\r\n .set('searchColumn', searchBy)\r\n .set('searchValue', searchValue)\r\n .set('pageNo', pageNo.toString())\r\n .set('pageSize', dataTablesParameters.length)\r\n .set('sortColumn', '')\r\n .set('sortOrder', '');\r\n\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getspecnamelist`, {\r\n params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getSpecification( specId ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getspecname/${specId}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n addEditSpecification( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/createspec`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n delete(id: number) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/category/delete/${id}`, {});\r\n }\r\n\r\n\r\n // SPecification Values\r\n\r\n getAllSpecValue( specId: number, dataTablesParameters ) {\r\n\r\n let searchValue = ''; let searchBy = '';\r\n if ( dataTablesParameters.search.value !== '' ) {\r\n searchValue = dataTablesParameters.search.value;\r\n searchBy = dataTablesParameters.search.column;\r\n }\r\n\r\n const pageNo = (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n\r\n const searchParams = new HttpParams()\r\n .set('searchColumn', searchBy)\r\n .set('searchValue', searchValue)\r\n .set('pageNo', pageNo.toString())\r\n .set('pageSize', dataTablesParameters.length)\r\n .set('sortColumn', '')\r\n .set('sortOrder', '');\r\n\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getspecvaluelist/${specId}`, {\r\n params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getCreateSpecification( specId ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/createspecvalues/${specId}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n addEditSpecificationValue( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/createspecvalues`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getSpecificationValue( SpecValueLangId ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getspecvalue`, {\r\n params: {\r\n SpecValueLangIds: SpecValueLangId\r\n }\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\r\n\r\nimport { StoreUser } from \"common/_models/store/storeUser\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\nimport { Observable, throwError } from \"rxjs\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class StoreUserService {\r\n currentUserProfile;\r\n\r\n configConstant = constEnv;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private authenticationService: AuthenticationService\r\n ) {\r\n this.currentUserProfile =\r\n this.authenticationService.currentUserProfileValue;\r\n }\r\n\r\n getProfile() {\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/profile`)\r\n .pipe(\r\n map((profile) => {\r\n let data = [];\r\n if (profile[\"status\"]) {\r\n data = profile[\"data\"];\r\n localStorage.setItem(\"currentUserProfile\", JSON.stringify(data));\r\n }\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getDashboard() {\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/WebStoreDashboard/0`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n register(user) {\r\n const requestHeader = {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n\r\n const requestData = new HttpParams()\r\n .set(\"Email\", user.email)\r\n .set(\"Password\", user.password)\r\n .set(\"PhoneCode\", user.countryCode)\r\n .set(\"Phone\", user.mobileNo)\r\n .set(\"RegionCode\", user.countryIsoCode)\r\n .set(\"Name\", user.name);\r\n\r\n return this.http\r\n .post(`${this.configConstant.apiStoreURL}/profile`, requestData, {\r\n headers: requestHeader,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n forgotPassword(email) {\r\n // const requestHeader = {\r\n // 'Content-Type': 'application/x-www-form-urlencoded'\r\n // };\r\n\r\n const requestData = new HttpParams().set(\"storeEmail\", email);\r\n\r\n return this.http\r\n .post(\r\n `${this.configConstant.apiStoreURL}/forgotpassword?storeEmail=${email}`,\r\n requestData,\r\n {\r\n // headers: requestHeader\r\n }\r\n )\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n resetPassword(accessToken, newPassword) {\r\n // const requestData = new HttpParams()\r\n // .set('AccessToken', accessToken)\r\n // .set('NewPassword', newPassword);\r\n const requestData = {\r\n accessToken: accessToken,\r\n newPassword: newPassword,\r\n };\r\n\r\n return this.http\r\n .post(`${this.configConstant.apiStoreURL}/resetpassword`, requestData)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n changeProfilePhoto(formModel) {\r\n return this.http\r\n .post(`${this.configConstant.apiStoreURL}/updateprofileimage`, formModel)\r\n .pipe(\r\n map((data) => {\r\n if (data[\"status\"] === true) {\r\n const responseData = data[\"data\"];\r\n const imageURL =\r\n typeof responseData.image_url !== \"undefined\"\r\n ? responseData.image_url\r\n : \"\";\r\n if (imageURL !== \"\") {\r\n if (typeof this.currentUserProfile !== \"undefined\") {\r\n this.currentUserProfile.profile_image = imageURL;\r\n }\r\n localStorage.setItem(\r\n \"currentUserProfile\",\r\n JSON.stringify(this.currentUserProfile)\r\n );\r\n }\r\n }\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n delete(id: number) {\r\n return this.http.delete(`${this.configConstant.apiStoreURL}/users/${id}`);\r\n }\r\n\r\n getHeaderCounters() {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/GetCounts`).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n verifyEmail(token: string) {\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/verify/${token}`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getStoreServiceTypeId() {\r\n const storeProfile = this.authenticationService.currentUserProfileValue;\r\n\r\n return typeof storeProfile.ServiceTypeId !== \"undefined\"\r\n ? storeProfile.ServiceTypeId\r\n : 0;\r\n }\r\n\r\n getStoreCurrency() {\r\n const currentUserValue = this.authenticationService.currentUserValue;\r\n const defaultCurrency =\r\n typeof currentUserValue[\"default_currency_code\"] !== \"undefined\"\r\n ? currentUserValue[\"default_currency_code\"]\r\n : \"USD\";\r\n const userCurrancy = currentUserValue[\"userCurrancy\"];\r\n\r\n return typeof userCurrancy !== \"undefined\" ? userCurrancy : defaultCurrency;\r\n }\r\n\r\n checkSocialLogin(socialId, socialType, socialEmail) {\r\n const formData = {\r\n socialType: socialType,\r\n socialId: socialId,\r\n email: socialEmail,\r\n };\r\n\r\n return this.http\r\n .post(`${this.configConstant.apiStoreURL}/checklogin`, formData)\r\n .pipe(\r\n map((data) => {\r\n if (data[\"status\"] === true) {\r\n localStorage.setItem(\"currentUser\", JSON.stringify(data[\"data\"]));\r\n this.authenticationService.currentUserSubject.next(data[\"data\"]);\r\n }\r\n\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n socialLogin(formData) {\r\n return this.http\r\n .post(`${this.configConstant.apiStoreURL}/externallogin`, formData)\r\n .pipe(\r\n map((data) => {\r\n localStorage.setItem(\"currentUser\", JSON.stringify(data[\"data\"]));\r\n this.authenticationService.currentUserSubject.next(data[\"data\"]);\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getCodPaymentReceivedLists(dataTablesParameters) {\r\n const pageNo =\r\n (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n\r\n const searchParams = new HttpParams()\r\n .set(\"searchColumn\", \"\")\r\n .set(\"searchValue\", \"\")\r\n .set(\"pageNo\", pageNo.toString())\r\n .set(\"pageSize\", dataTablesParameters.length)\r\n .set(\"sortColumn\", \"\")\r\n .set(\"sortOrder\", \"\");\r\n\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/PastPayments`, {\r\n params: searchParams,\r\n })\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getPaymentReceivedDetailbyId(PayId) {\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/GetOrderDetailsByPayId/${PayId}`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getStoreDashboard() {\r\n return this.http\r\n .get(`${this.configConstant.apiStoreURL}/loaddashboard`)\r\n .pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from 'common/services/authentication.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class VehicleService {\r\n currentUserProfile;\r\n configConstant = constEnv;\r\n constructor(private http: HttpClient, private authenticationService: AuthenticationService) {\r\n this.currentUserProfile = this.authenticationService.currentUserProfileValue;\r\n }\r\n\r\n getAll( dataTablesParameters ) {\r\n\r\n // let searchValue = ''; let searchBy = '';\r\n // if ( dataTablesParameters.search.value !== '' ) {\r\n // searchValue = dataTablesParameters.search.value;\r\n // searchBy = dataTablesParameters.search.column;\r\n // }\r\n const searchParams = new HttpParams()\r\n // .set('searchColumn', searchBy)\r\n // .set('searchValue', searchValue)\r\n .set('PageNo', dataTablesParameters.start)\r\n .set('PageSize', dataTablesParameters.length);\r\n // .set('sortColumn', '')\r\n // .set('sortOrder', '');\r\n\r\n return this.http.get(`${this.configConstant.apiStoreURL}/vehiclelist`, {\r\n params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n get( driverId: number ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getdriverbyid/${driverId}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n add( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/adddriver`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n update( formData ) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/updatedriver`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n action( action, formData ) {\r\n if (action === 'add') {\r\n return this.add(formData);\r\n } else {\r\n return this.update(formData);\r\n }\r\n }\r\n\r\n delete(id: number) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/deletedriver/${id}`, {});\r\n }\r\n\r\n updateDocument( driverId: number, formData ) {\r\n return this.http.post(`${this.configConstant.apiDriverURL}/document/update?DriverId=${driverId}`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n\r\n // Vehicle Data\r\n getVehicleType() {\r\n return this.http.get(`${this.configConstant.apiDriverURL}/getvehicletypedata`, {\r\n // params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getVehicleMake() {\r\n return this.http.get(`${this.configConstant.apiDriverURL}/getvehiclemake`, {\r\n // params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getVehicleModel( makeId ) {\r\n return this.http.get(`${this.configConstant.apiDriverURL}/getvehiclemodelbyid/${makeId}`, {\r\n // params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n manageVehicle(formData) {\r\n return this.http.post(`${this.configConstant.apiStoreURL}/managevehicle`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getVehiclebyId( vehicleId: number ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/vehiclebyId/${vehicleId}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n vehicleChangeStatus( vehicleId: number, status: number ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/vehiclestatus/${vehicleId}/${status}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n deleteVehicle( vehicleId: number ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/vehicledelete/${vehicleId}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n retractVehicle( vehicleId: number ) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/retractvehicle/${vehicleId}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getDriverListForVehicle() {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/driverlistforvehicle`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n assignDriver(vehicleId, driverId) {\r\n return this.http.get(`${this.configConstant.apiStoreURL}/assignvehicle/${driverId}/${vehicleId}`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getRequiredDocuments() {\r\n return this.http.get(`${this.configConstant.apiDriverURL}/getvehiclerequireddocuments`)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n getUploadedDouments( docMgmtId, vehicleId ) {\r\n return this.http.get(`${this.configConstant.apiDriverURL}/vehicledocument/${docMgmtId}/view`, {\r\n params: {\r\n VehicleId: vehicleId\r\n }\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n uploadDocument( formData ) {\r\n return this.http.post(`${this.configConstant.apiDriverURL}/vehicledocument/update`, formData)\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from 'common/services/authentication.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class WishlistService {\r\n currentUserProfile;\r\n configConstant = constEnv;\r\n constructor(private http: HttpClient, private authenticationService: AuthenticationService) {\r\n this.currentUserProfile = this.authenticationService.currentUserProfileValue;\r\n }\r\n\r\n getWishlist( dataTablesParameters ) {\r\n\r\n let searchValue = ''; let searchBy = '';\r\n if ( dataTablesParameters.search.value !== '' ) {\r\n searchValue = dataTablesParameters.search.value;\r\n searchBy = dataTablesParameters.search.column;\r\n }\r\n\r\n const pageNo = (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n\r\n const searchParams = new HttpParams()\r\n // .set('searchColumn', searchBy)\r\n // .set('searchValue', searchValue)\r\n .set('PageNo', pageNo.toString())\r\n .set('PageSize', dataTablesParameters.length);\r\n // .set('sortColumn', '')\r\n // .set('sortOrder', '');\r\n\r\n return this.http.get(`${this.configConstant.apiStoreURL}/getwhishlist`, {\r\n params: searchParams\r\n })\r\n .pipe(map(data => {\r\n return data;\r\n }));\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Title, Meta } from \"@angular/platform-browser\";\r\nimport { constEnv } from \"../constants.env\";\r\nimport { GeneralService } from \"./general.service\";\r\nimport { AuthenticationService } from \"./authentication.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AuthUser } from \"common/_models/AuthUser.model\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { firstValueFrom } from \"rxjs\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TitleService {\r\n siteTitle: string;\r\n userType: string;\r\n\r\n delim = \" - \";\r\n\r\n pageTitle: PageTitle;\r\n config = constEnv;\r\n\r\n constructor(\r\n private title: Title,\r\n private gs: GeneralService,\r\n private auth: AuthenticationService,\r\n private trans: TranslateService,\r\n private router: Router,\r\n private meta: Meta\r\n ) {\r\n const defaultSettings = this.gs.getDefaultSettings();\r\n if (defaultSettings !== null) {\r\n this.siteTitle = defaultSettings[\"title\"];\r\n } else {\r\n this.siteTitle = this.config.projectTitle;\r\n }\r\n\r\n if (this.auth.currentUserValue) {\r\n const userData = this.auth.currentUserValue.userdetails;\r\n this.userType = userData.userType;\r\n }\r\n }\r\n\r\n async getTitleSufix() {\r\n this.userType = this.getCurrentUserType();\r\n\r\n let uType = \"\";\r\n let titleSuffix = [];\r\n if (this.userType !== \"\") {\r\n if (this.userType === this.config.driverEndPoint) {\r\n uType = await this.getTranslatedString(\"Driver\");\r\n } else if (this.userType === this.config.storeEndPoint) {\r\n uType = await this.getTranslatedString(\"Store\");\r\n } else if (this.userType === this.config.customerEndPoint) {\r\n uType = await this.getTranslatedString(\"Users\");\r\n }\r\n\r\n titleSuffix = [uType, this.siteTitle];\r\n } else {\r\n titleSuffix = [this.siteTitle];\r\n }\r\n\r\n return titleSuffix;\r\n }\r\n\r\n async setTitle(title: string = \"\") {\r\n const pageTitleParts = await this.getTitleSufix();\r\n let newTitleParts = [];\r\n if (title !== \"\") {\r\n newTitleParts = [await this.getTranslatedString(title)].concat(\r\n pageTitleParts\r\n );\r\n // pageTitle = this.getTranslatedString(title) + this.getTitleSufix().join(this.delim);\r\n } else {\r\n // pageTitle = this.getTitleSufix();\r\n newTitleParts = pageTitleParts;\r\n }\r\n\r\n const pageTitle = newTitleParts.join(this.delim);\r\n\r\n this.title.setTitle(pageTitle);\r\n }\r\n\r\n async setMultipleTitle(titles: any = []) {\r\n const pageTitleParts = await this.getTitleSufix();\r\n let newTitleParts = [];\r\n if (titles.length > 0) {\r\n for (const title of titles) {\r\n if (title.trim() !== \"\") {\r\n const translatedTitle = await this.getTranslatedString(title);\r\n newTitleParts.push(translatedTitle);\r\n }\r\n }\r\n newTitleParts = newTitleParts.concat(pageTitleParts);\r\n // pageTitle = this.getTranslatedString(title) + this.getTitleSufix().join(this.delim);\r\n } else {\r\n // pageTitle = this.getTitleSufix();\r\n newTitleParts = pageTitleParts;\r\n }\r\n\r\n const pageTitle = newTitleParts.join(this.delim);\r\n\r\n this.title.setTitle(pageTitle);\r\n }\r\n\r\n getTitle() {\r\n return this.title.getTitle();\r\n }\r\n\r\n titleCaseWord(word: string) {\r\n if (!word) {\r\n return word;\r\n }\r\n return word[0].toUpperCase() + word.substr(1).toLowerCase();\r\n }\r\n\r\n async getTranslatedString(key: string | []) {\r\n // console.log(key, await firstValueFrom(this.trans.get(key)));\r\n // console.trace(\"getTranslatedString called for key:\", key);\r\n // const translatedText = firstValueFrom(this.trans.get(key));\r\n return (await firstValueFrom(this.trans.get(key))) ?? key;\r\n // console.log(translatedText);\r\n // return typeof translatedText[\"value\"] !== \"undefined\"\r\n // ? translatedText[\"value\"]\r\n // : key;\r\n }\r\n // getTranslatedValue(key: string): Promise {\r\n // return this.trans\r\n // .get(key)\r\n // .pipe(first())\r\n // .toPromise()\r\n // .then((translatedText) => {\r\n // return translatedText || key;\r\n // })\r\n // .catch((error) => {\r\n // console.error(\"Translation error:\", error);\r\n // return key;\r\n // });\r\n // }\r\n\r\n getCurrentUserType() {\r\n const currentUser = this.auth.currentUserValue as AuthUser;\r\n let loggedInUser = \"\";\r\n if (currentUser) {\r\n const userData = currentUser.userdetails;\r\n const userType =\r\n typeof userData.userType !== \"undefined\" ? userData.userType : \"\";\r\n if (this.router.url.indexOf(userType) > -1) {\r\n loggedInUser = userType;\r\n }\r\n }\r\n return loggedInUser;\r\n }\r\n\r\n setMetaTag(name, content) {\r\n if (this.getMetaTag(name) === null) {\r\n this.addMetaTag(name, content);\r\n } else {\r\n this.updateMetaTag(name, content);\r\n }\r\n }\r\n\r\n getMetaTag(name) {\r\n return this.meta.getTag(`name=${name}`);\r\n }\r\n\r\n addMetaTag(name, content) {\r\n this.meta.addTag({ name, content });\r\n }\r\n\r\n updateMetaTag(name, content) {\r\n this.meta.updateTag({ name, content });\r\n }\r\n\r\n removeMetaTag(name) {\r\n this.meta.removeTag(`name=${name}`);\r\n }\r\n}\r\n\r\ninterface PageTitle {\r\n page: string;\r\n user: string;\r\n site: string;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { constEnv } from 'common/constants.env';\r\n\r\nconst DRIVER_ENDPOINT = constEnv.driverEndPoint;\r\n\r\nconst routes: Routes = [\r\n { path: `${DRIVER_ENDPOINT}`, redirectTo: `${DRIVER_ENDPOINT}/login`, pathMatch: 'full' }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {})],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'driver';\r\n}\r\n","import { BrowserModule } from \"@angular/platform-browser\";\r\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\r\n\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\nimport { AppComponent } from \"./app.component\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { AuthPagesModule } from \"./auth-pages/auth-pages.module\";\r\nimport { AlertModule } from \"@full-fledged/alerts\";\r\n\r\nconst appProviders = [];\r\n\r\n@NgModule({\r\n declarations: [AppComponent],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n AuthPagesModule,\r\n AlertModule.forRoot({\r\n maxMessages: 1,\r\n timeout: 2500,\r\n positionX: \"right\",\r\n positionY: \"top\",\r\n }),\r\n ],\r\n providers: appProviders,\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n\r\n@NgModule({})\r\nexport class DriverSharedModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: AppModule,\r\n providers: appProviders,\r\n };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { RegisterComponent } from './register/register.component';\r\nimport { constEnv } from 'common/constants.env';\r\n\r\nimport { EmailVerifyComponent } from './email-verify/email-verify.component';\r\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\r\n\r\nconst URL_ENDPOINT = constEnv.driverEndPoint;\r\n\r\nconst routes: Routes = [\r\n { path: `${URL_ENDPOINT}/login`, component: LoginComponent },\r\n { path: `${URL_ENDPOINT}/register`, component: RegisterComponent },\r\n { path: `${URL_ENDPOINT}/reset-password/:token` , component: ResetPasswordComponent },\r\n { path: `${URL_ENDPOINT}/email-verify/:token` , component: EmailVerifyComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AuthPagesRoutingModule { }\r\n\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { AuthPagesRoutingModule } from \"./auth-pages-routing.module\";\r\nimport { LoginComponent } from \"./login/login.component\";\r\nimport { AlertModule } from \"@full-fledged/alerts\";\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { RegisterComponent } from \"./register/register.component\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { Ng2TelInputModule } from \"ng2-tel-input\";\r\nimport { NgxIntlTelInputModule } from \"ngx-intl-tel-input\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\n\r\nimport { EmailVerifyComponent } from \"./email-verify/email-verify.component\";\r\nimport { ResetPasswordComponent } from \"./reset-password/reset-password.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n LoginComponent,\r\n RegisterComponent,\r\n EmailVerifyComponent,\r\n ResetPasswordComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n AuthPagesRoutingModule,\r\n AlertModule.forRoot({\r\n maxMessages: 1,\r\n timeout: 2500,\r\n positionX: \"right\",\r\n positionY: \"top\",\r\n }),\r\n ComponentModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Ng2TelInputModule,\r\n NgxIntlTelInputModule,\r\n MaterialModule,\r\n TranslateModule.forRoot(),\r\n ],\r\n})\r\nexport class AuthPagesModule {}\r\n","import { Component, OnInit, Inject, OnDestroy } from \"@angular/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\n// import { AlertService } from 'common/services/alert.service';\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { UserService } from \"common/services/driver/user.service\";\r\n\r\n@Component({\r\n selector: \"app-email-verify\",\r\n templateUrl: \"./email-verify.component.html\",\r\n styleUrls: [\"./email-verify.component.css\"],\r\n})\r\nexport class EmailVerifyComponent implements OnInit, OnDestroy {\r\n accessToken: string;\r\n isSuccess = false;\r\n isError = false;\r\n errorMessage = \"\";\r\n\r\n constantConfig = constEnv;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private alert: AlertService,\r\n private userService: UserService,\r\n private titleService: TitleService,\r\n private route: ActivatedRoute,\r\n private ls: LoaderService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"VerifyEmail\");\r\n this.document.body.classList.add(\"verify-email-body\");\r\n\r\n this.accessToken = this.route.snapshot.params.token;\r\n this.verifyEmail();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"verify-email-body\");\r\n }\r\n\r\n verifyEmail() {\r\n this.ls.showLoader();\r\n // this.alert.clear();\r\n this.isSuccess = false;\r\n this.isError = false;\r\n this.userService.verifyEmail(this.accessToken).subscribe(\r\n (response) => {\r\n if (response[\"status\"] === true) {\r\n this.isSuccess = true;\r\n } else {\r\n this.isError = true;\r\n this.errorMessage = response[\"message\"];\r\n }\r\n // console.log(response);\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.error(msg);\r\n this.isError = true;\r\n this.errorMessage = msg;\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy, Inject, ViewChild } from \"@angular/core\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n} from \"@angular/forms\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\n// import { TitleService } from 'common/services/title.service';\r\n\r\n@Component({\r\n selector: \"app-login\",\r\n templateUrl: \"./login.component.html\",\r\n styleUrls: [\"./login.component.css\"],\r\n})\r\nexport class LoginComponent implements OnInit, OnDestroy {\r\n env = constEnv;\r\n\r\n loginForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alertService: AlertService,\r\n // private titleService: TitleService,\r\n private isLoadingService: IsLoadingService\r\n ) {}\r\n\r\n ngOnInit() {\r\n // this.titleService.setTitle('Sign In');\r\n\r\n this.document.body.classList.add(\"page-login\");\r\n\r\n this.returnUrl =\r\n this.route.snapshot.queryParams.returnUrl ||\r\n `${this.env.DRIVER_URL}/dashboard`;\r\n\r\n this.createLoginForm();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"page-login\");\r\n }\r\n\r\n createLoginForm() {\r\n this.loginForm = this.formBuilder.group({\r\n email: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.pattern(\r\n \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,4}$\"\r\n ),\r\n ])\r\n ),\r\n password: [\"\", Validators.required],\r\n });\r\n }\r\n\r\n get f() {\r\n return this.loginForm.controls;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // reset alerts on submit\r\n // this.alertService.clear();\r\n\r\n // stop here if form is invalid\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n\r\n setTimeout(() => {\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }, 1500);\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Inject,\r\n OnDestroy,\r\n IterableDiffers,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\n// import { TitleService } from 'common/services/title.service';\r\n\r\nimport { DOCUMENT } from \"@angular/common\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n AbstractControl,\r\n} from \"@angular/forms\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"app-register\",\r\n templateUrl: \"./register.component.html\",\r\n styleUrls: [\"./register.component.css\"],\r\n})\r\nexport class RegisterComponent implements OnInit, OnDestroy {\r\n env = constEnv;\r\n regiForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n countryCode: string;\r\n countryIsoCode: string;\r\n validMobileNo = true;\r\n\r\n isLoading: Observable;\r\n\r\n iniObj: any;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alertService: AlertService,\r\n // private titleService: TitleService,\r\n private isLoadingService: IsLoadingService\r\n ) {}\r\n\r\n ngOnInit() {\r\n // this.titleService.setTitle('Sign Up');\r\n this.isLoading = this.isLoadingService.isLoading$();\r\n\r\n this.document.body.classList.add(\"page-register\");\r\n\r\n this.createSignUpFrom();\r\n\r\n this.returnUrl =\r\n this.route.snapshot.queryParams.returnUrl || `${this.env.STORE_URL}`;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"page-register\");\r\n\r\n // this.socialSubcription.unsubscribe();\r\n }\r\n\r\n createSignUpFrom() {\r\n this.regiForm = this.formBuilder.group(\r\n {\r\n firstName: [\"\", Validators.required],\r\n lastName: [\"\", Validators.required],\r\n mobileNo: [\"\", Validators.required],\r\n countryCode: this.countryCode,\r\n countryIsoCode: this.countryIsoCode,\r\n email: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.pattern(\r\n \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,4}$\"\r\n ),\r\n ])\r\n ),\r\n password: [\"\", Validators.required],\r\n terms: [\"\", Validators.required],\r\n // recaptchaReactive: new FormControl(null, Validators.required)\r\n },\r\n { validator: CustomValidator.checkTerms }\r\n );\r\n }\r\n\r\n get formData() {\r\n return this.regiForm.controls;\r\n }\r\n\r\n hasError(obj) {\r\n if (!obj && this.countryIsoCode === \"ae\") {\r\n const selectedNumber = this.iniObj.getNumber();\r\n this.validMobileNo =\r\n /^(?:\\+971|00971|0)?(?:50|52|53|54|55|56|57|58|59|2|3|4|6|7|9)\\d{7}$/gm.test(\r\n selectedNumber\r\n );\r\n } else {\r\n this.validMobileNo = obj;\r\n }\r\n }\r\n\r\n onCountryChange(obj) {\r\n this.countryCode = obj.dialCode;\r\n this.countryIsoCode = obj.iso2;\r\n }\r\n\r\n telInputObject(obj) {\r\n this.iniObj = obj;\r\n const countryData = obj.getSelectedCountryData();\r\n this.countryCode = countryData.dialCode;\r\n this.countryIsoCode = countryData.iso2;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // reset alerts on submit\r\n // this.alertService.clear();\r\n\r\n // stop here if form is invalid\r\n if (this.regiForm.invalid) {\r\n return;\r\n }\r\n\r\n if (!this.validMobileNo) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n\r\n this.regiForm.value.countryCode = \"+\" + this.countryCode;\r\n this.regiForm.value.countryIsoCode = this.countryIsoCode;\r\n console.log(\"submitted..\");\r\n setTimeout(() => {\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }, 2000);\r\n }\r\n}\r\n","import { Component, OnInit, Inject, OnDestroy } from \"@angular/core\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n FormControl,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n// import { AlertService } from 'common/services/alert.service';\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { UserService } from \"common/services/driver/user.service\";\r\n\r\n@Component({\r\n selector: \"app-reset-password\",\r\n templateUrl: \"./reset-password.component.html\",\r\n styleUrls: [\"./reset-password.component.css\"],\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n RPForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n accessToken: string;\r\n\r\n constantConfig = constEnv;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alertService: AlertService,\r\n private userService: UserService,\r\n private titleService: TitleService,\r\n private isLoadingService: IsLoadingService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"ResetPassword\");\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n this.document.body.classList.add(\"reset-password-body\");\r\n\r\n this.accessToken = this.route.snapshot.params.token;\r\n\r\n this.RPForm = this.formBuilder.group(\r\n {\r\n newPassword: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n ),\r\n confirmPassword: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n ),\r\n },\r\n { validator: CustomValidator.MatchPassword }\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"reset-password-body\");\r\n }\r\n\r\n getErrorNewPassword() {\r\n return this.RPForm.get(\"newPassword\").hasError(\"required\")\r\n ? \"\"\r\n : this.RPForm.get(\"newPassword\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.RPForm.get(\"newPassword\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n \"\";\r\n }\r\n\r\n getErrorConfirmPassword() {\r\n return this.RPForm.get(\"confirmPassword\").hasError(\"required\")\r\n ? \"\"\r\n : this.RPForm.get(\"confirmPassword\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.RPForm.get(\"confirmPassword\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.RPForm.get(\"confirmPassword\").hasError(\"confirmPassword\")\r\n ? // ? this.titleService.getTranslatedString(\"NewPasswordAndConfirmPasswordMustBeSame\")\r\n \"NewPasswordAndConfirmPasswordMustBeSame\"\r\n : \"\";\r\n }\r\n\r\n get f() {\r\n return this.RPForm.controls;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // reset alerts on submit\r\n // this.alertService.clear();\r\n\r\n // stop here if form is invalid\r\n if (this.RPForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n\r\n this.userService\r\n .resetPassword(this.accessToken, this.RPForm.value.newPassword)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.alertService.success(data[\"message\"]);\r\n this.submitted = false;\r\n this.RPForm.reset();\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n // this.router.navigate([`${this.constantConfig.STORE_URL}/login`]);\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.message !== \"undefined\" ? err.error.message : \"\";\r\n if (msg) {\r\n // this.alertService.error(msg);\r\n this.alertService.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { constEnv } from 'common/constants.env';\r\n\r\nconst STORE_URL = constEnv.storeEndPoint;\r\n\r\nconst routes: Routes = [\r\n { path: `${STORE_URL}`, redirectTo: `${STORE_URL}/login`, pathMatch: 'full' }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {})],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'store';\r\n}\r\n","import { BrowserModule } from \"@angular/platform-browser\";\r\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\r\nimport {\r\n HttpClientModule,\r\n HTTP_INTERCEPTORS,\r\n HttpClient,\r\n} from \"@angular/common/http\";\r\n\r\nimport { JwtInterceptor } from \"common/_helpers/jwt.interceptor\";\r\nimport { ErrorInterceptor } from \"common/_helpers/error.interceptor\";\r\n\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\nimport { AppComponent } from \"./app.component\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { AuthPagesModule } from \"./auth-pages/auth-pages.module\";\r\nimport { AlertModule } from \"@full-fledged/alerts\";\r\n\r\nimport { PagesModule } from \"./pages/pages.module\";\r\nimport { BsModalRef } from \"ngx-bootstrap/modal\";\r\n\r\nconst appProviders = [\r\n BsModalRef,\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n];\r\n\r\n@NgModule({\r\n declarations: [AppComponent],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n AuthPagesModule,\r\n PagesModule,\r\n AlertModule.forRoot({\r\n maxMessages: 1,\r\n timeout: 5000,\r\n positionX: \"right\",\r\n positionY: \"top\",\r\n }),\r\n ],\r\n providers: appProviders,\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n\r\n@NgModule({})\r\nexport class StoreSharedModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: AppModule,\r\n providers: appProviders,\r\n };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { RegisterComponent } from './register/register.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\r\nimport { EmailVerifyComponent } from './email-verify/email-verify.component';\r\nimport { constEnv } from 'common/constants.env';\r\n\r\nconst STORE_ENDPOINT = constEnv.storeEndPoint;\r\n\r\nconst routes: Routes = [\r\n { path: `${STORE_ENDPOINT}/login`, component: LoginComponent },\r\n { path: `${STORE_ENDPOINT}/register`, component: RegisterComponent },\r\n { path: `${STORE_ENDPOINT}/forgot-password`, component: ForgotPasswordComponent },\r\n { path: `${STORE_ENDPOINT}/reset-password/:token`, component: ResetPasswordComponent },\r\n { path: `${STORE_ENDPOINT}/email-verify/:token`, component: EmailVerifyComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AuthPagesRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { AuthPagesRoutingModule } from \"./auth-pages-routing.module\";\r\nimport { LoginComponent } from \"./login/login.component\";\r\nimport { AlertModule } from \"@full-fledged/alerts\";\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { RegisterComponent } from \"./register/register.component\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { Ng2TelInputModule } from \"ng2-tel-input\";\r\nimport { NgxIntlTelInputModule } from \"ngx-intl-tel-input\";\r\n\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\n\r\nimport { SocialLoginModule, AuthServiceConfig } from \"angularx-social-login\";\r\nimport {\r\n GoogleLoginProvider,\r\n FacebookLoginProvider,\r\n} from \"angularx-social-login\";\r\nimport { BsModalRef } from \"ngx-bootstrap/modal\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\n\r\nimport { ForgotPasswordComponent } from \"./forgot-password/forgot-password.component\";\r\nimport { ResetPasswordComponent } from \"./reset-password/reset-password.component\";\r\nimport { EmailVerifyComponent } from \"./email-verify/email-verify.component\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { MyDirectiveModule } from \"common/directives/my-directive.module\";\r\n\r\nconst socialConfig = new AuthServiceConfig([\r\n {\r\n id: GoogleLoginProvider.PROVIDER_ID,\r\n provider: new GoogleLoginProvider(constEnv.googleAuthClientId),\r\n },\r\n {\r\n id: FacebookLoginProvider.PROVIDER_ID,\r\n provider: new FacebookLoginProvider(constEnv.facebookAppId),\r\n },\r\n]);\r\n\r\nexport function provideConfig() {\r\n return socialConfig;\r\n}\r\n\r\nconst appProviders = [\r\n BsModalRef,\r\n { provide: AuthServiceConfig, useClass: provideConfig },\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n LoginComponent,\r\n RegisterComponent,\r\n ForgotPasswordComponent,\r\n ResetPasswordComponent,\r\n EmailVerifyComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n AuthPagesRoutingModule,\r\n AlertModule.forRoot({\r\n maxMessages: 1,\r\n timeout: 2500,\r\n positionX: \"right\",\r\n positionY: \"top\",\r\n }),\r\n ComponentModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Ng2TelInputModule,\r\n NgxIntlTelInputModule,\r\n TranslateModule.forRoot(),\r\n ModalModule.forRoot(),\r\n MaterialModule,\r\n SocialLoginModule,\r\n MyDirectiveModule,\r\n ],\r\n providers: appProviders,\r\n})\r\nexport class AuthPagesModule {}\r\n","import { Component, OnInit, Inject, OnDestroy } from \"@angular/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\n// import { AlertService } from 'common/services/alert.service';\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { StoreUserService } from \"common/services/store/storeUser.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\n\r\n@Component({\r\n selector: \"app-email-verify\",\r\n templateUrl: \"./email-verify.component.html\",\r\n styleUrls: [\"./email-verify.component.css\"],\r\n})\r\nexport class EmailVerifyComponent implements OnInit, OnDestroy {\r\n accessToken: string;\r\n isSuccess = false;\r\n isError = false;\r\n errorMessage = \"\";\r\n\r\n constantConfig = constEnv;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private alert: AlertService,\r\n private userService: StoreUserService,\r\n private titleService: TitleService,\r\n private route: ActivatedRoute,\r\n private ls: LoaderService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"VerifyEmail\");\r\n this.document.body.classList.add(\"verify-email-body\");\r\n\r\n this.accessToken = this.route.snapshot.params.token;\r\n this.verifyEmail();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"verify-email-body\");\r\n }\r\n\r\n verifyEmail() {\r\n this.ls.showLoader();\r\n // this.alert.clear();\r\n this.isSuccess = false;\r\n this.isError = false;\r\n this.userService.verifyEmail(this.accessToken).subscribe(\r\n (response) => {\r\n if (response[\"status\"] === true) {\r\n this.isSuccess = true;\r\n } else {\r\n this.isError = true;\r\n this.errorMessage = response[\"message\"];\r\n }\r\n // console.log(response);\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.error(msg);\r\n this.isError = true;\r\n this.errorMessage = msg;\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, Inject, OnDestroy } from \"@angular/core\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n FormControl,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { StoreUserService } from \"common/services/store/storeUser.service\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\n\r\n@Component({\r\n selector: \"app-forgot-password\",\r\n templateUrl: \"./forgot-password.component.html\",\r\n styleUrls: [\"./forgot-password.component.css\"],\r\n})\r\nexport class ForgotPasswordComponent implements OnInit, OnDestroy {\r\n FGForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n\r\n constantConfig = constEnv;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alertService: AlertService,\r\n private userService: StoreUserService,\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Forgot_Password\");\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.document.body.classList.add(\"forgot-password-body\");\r\n\r\n this.FGForm = this.formBuilder.group({\r\n email: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.pattern(\r\n \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,4}$\"\r\n ),\r\n ])\r\n ),\r\n });\r\n }\r\n\r\n getErrorEmail() {\r\n return this.FGForm.get(\"email\").hasError(\"required\")\r\n ? \"\"\r\n : this.FGForm.get(\"email\").hasError(\"pattern\")\r\n ? \"EmailInValid\"\r\n : // ? this.titleService.getTranslatedString(\"EmailInValid\")\r\n \"\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"forgot-password-body\");\r\n }\r\n\r\n get f() {\r\n return this.FGForm.controls;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.FGForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n this.userService\r\n .forgotPassword(this.FGForm.value.email)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.alertService.success(data[\"message\"]);\r\n this.submitted = false;\r\n this.FGForm.reset();\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n this.router.navigate([`${this.constantConfig.STORE_URL}/login`]);\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.message !== \"undefined\" ? err.error.message : \"\";\r\n if (msg) {\r\n this.alertService.danger(msg);\r\n }\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy, Inject, ViewChild } from \"@angular/core\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n} from \"@angular/forms\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\nimport { StoreUserService } from \"common/services/store/storeUser.service\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\n\r\nimport { BsModalRef, ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\n\r\n@Component({\r\n selector: \"app-login\",\r\n templateUrl: \"./login.component.html\",\r\n styleUrls: [\"./login.component.css\"],\r\n})\r\nexport class LoginComponent implements OnInit, OnDestroy {\r\n env = constEnv;\r\n\r\n accountForm: FormGroup;\r\n accountSubmitted = false;\r\n validMobileNo = true;\r\n\r\n @ViewChild(\"autoShownModal\", { static: false })\r\n autoShownModal: ModalDirective;\r\n\r\n modalRef: BsModalRef;\r\n socialSubcription: Subscription;\r\n\r\n countryCode: string;\r\n countryIsoCode: string;\r\n\r\n hasAccountEmail = false;\r\n\r\n loginForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n\r\n public showPassword: boolean = false;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alertService: AlertService,\r\n private titleService: TitleService,\r\n private isLoadingService: IsLoadingService,\r\n private authenticationService: AuthenticationService,\r\n private langService: LanguageService,\r\n private general: GeneralService,\r\n private storeUser: StoreUserService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Sign_In\");\r\n\r\n this.returnUrl =\r\n this.route.snapshot.queryParams.returnUrl ||\r\n `${this.env.STORE_URL}/dashboard`;\r\n\r\n if (this.authenticationService.currentUserValue) {\r\n this.router.navigate([this.returnUrl]);\r\n }\r\n\r\n this.document.body.classList.add(\"page-login\");\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.createLoginForm();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"page-login\");\r\n }\r\n\r\n createLoginForm() {\r\n this.loginForm = this.formBuilder.group({\r\n email: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.pattern(\r\n \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,4}$\"\r\n ),\r\n ])\r\n ),\r\n password: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n ),\r\n });\r\n }\r\n\r\n getErrorEmail() {\r\n return this.loginForm.get(\"email\").hasError(\"required\")\r\n ? \"\"\r\n : this.loginForm.get(\"email\").hasError(\"pattern\")\r\n ? \"EmailInValid\"\r\n : // ? this.titleService.getTranslatedString(\"EmailInValid\")\r\n \"\";\r\n }\r\n\r\n getErrorPassword() {\r\n return this.loginForm.get(\"password\").hasError(\"required\")\r\n ? \"\"\r\n : this.loginForm.get(\"password\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.loginForm.get(\"password\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n \"\";\r\n }\r\n\r\n get f() {\r\n return this.loginForm.controls;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n\r\n this.authenticationService\r\n .login(this.f.email.value, this.f.password.value, \"store\")\r\n .pipe(first())\r\n .subscribe(\r\n async (data) => {\r\n const userdetail =\r\n typeof data.userdetails !== \"undefined\" ? data.userdetails : [];\r\n\r\n this.langService.changeLanguage(userdetail.languageCode);\r\n\r\n await this.general.getDefaultSettingsValue();\r\n\r\n this.storeUser\r\n .getProfile()\r\n .pipe(first())\r\n .subscribe(\r\n (profile) => {\r\n let redirectURL = this.returnUrl;\r\n if (data.addressId === \"0\") {\r\n redirectURL = `${this.env.STORE_URL}/settings/store`;\r\n }\r\n\r\n if (userdetail.isFirstimeLogin) {\r\n redirectURL = `${this.env.STORE_URL}/settings/change-password`;\r\n }\r\n\r\n setTimeout(() => {\r\n window.location.href = redirectURL;\r\n }, 2500);\r\n },\r\n (err) => {\r\n this.alertService.danger(err.error.message);\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n },\r\n (err) => {\r\n let errorMsg = \"\";\r\n if (typeof err.error.Message !== \"undefined\") {\r\n errorMsg = err.error.Message;\r\n } else if (typeof err.error.error_description !== \"undefined\") {\r\n errorMsg = err.error.error_description;\r\n } else if (typeof err.error.message !== \"undefined\") {\r\n errorMsg = err.error.message;\r\n }\r\n this.submitted = false;\r\n if (errorMsg == \"Password not match\") {\r\n this.loginForm.get(\"password\").reset();\r\n } else {\r\n this.loginForm.reset();\r\n }\r\n if (errorMsg !== \"\") {\r\n // this.alertService.error(errorMsg);\r\n this.alertService.danger(errorMsg);\r\n }\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Inject,\r\n OnDestroy,\r\n IterableDiffers,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\n// import { TitleService } from 'common/services/title.service';\r\n\r\nimport { DOCUMENT } from \"@angular/common\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n AbstractControl,\r\n} from \"@angular/forms\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { Observable } from \"rxjs\";\r\nimport { TitleService } from \"common/services/title.service\";\r\n\r\nimport { BsModalRef, ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\nimport { StoreUserService } from \"common/services/store/storeUser.service\";\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\n\r\n@Component({\r\n selector: \"app-register\",\r\n templateUrl: \"./register.component.html\",\r\n styleUrls: [\"./register.component.css\"],\r\n})\r\nexport class RegisterComponent implements OnInit, OnDestroy {\r\n env = constEnv;\r\n regiForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n countryCode: string;\r\n countryIsoCode: string;\r\n validMobileNo = true;\r\n\r\n accountForm: FormGroup;\r\n accountSubmitted = false;\r\n\r\n socialSubcription: Subscription;\r\n\r\n hasAccountEmail = false;\r\n\r\n socialValidMobileNo = true;\r\n iniSocailObj: any;\r\n socialCountryCode: string;\r\n socialCountryIsoCode: string;\r\n\r\n isLoading: Observable;\r\n\r\n iniObj: any;\r\n\r\n public showPassword: boolean = false;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alertService: AlertService,\r\n private titleService: TitleService,\r\n private isLoadingService: IsLoadingService,\r\n private authenticationService: AuthenticationService,\r\n private storeUserService: StoreUserService,\r\n private langService: LanguageService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Sign_Up\");\r\n\r\n this.isLoading = this.isLoadingService.isLoading$();\r\n if (this.authenticationService.currentUserValue) {\r\n this.router.navigate([this.returnUrl]);\r\n }\r\n\r\n this.document.body.classList.add(\"page-register\");\r\n\r\n this.createSignUpFrom();\r\n\r\n this.returnUrl =\r\n this.route.snapshot.queryParams.returnUrl || `${this.env.STORE_URL}`;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"page-register\");\r\n }\r\n\r\n createSignUpFrom() {\r\n const emailregex: RegExp =\r\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n this.regiForm = this.formBuilder.group(\r\n {\r\n name: [\"\", Validators.required],\r\n mobileNo: [\"\", Validators.required],\r\n countryCode: this.countryCode,\r\n countryIsoCode: this.countryIsoCode,\r\n email: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.pattern(emailregex),\r\n ])\r\n ),\r\n password: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n ),\r\n terms: [false, Validators.required],\r\n // recaptchaReactive: new FormControl(null, Validators.required)\r\n },\r\n { validator: CustomValidator.checkTerms }\r\n );\r\n }\r\n\r\n get formData() {\r\n return this.regiForm.controls;\r\n }\r\n\r\n hasError(obj) {\r\n if (!obj && this.countryIsoCode === \"ae\") {\r\n const selectedNumber = this.iniObj.getNumber();\r\n this.validMobileNo =\r\n /^(?:\\+971|00971|0)?(?:50|52|53|54|55|56|57|58|59|2|3|4|6|7|9)\\d{7}$/gm.test(\r\n selectedNumber\r\n );\r\n } else {\r\n this.validMobileNo = obj;\r\n }\r\n }\r\n\r\n getErrorEmail() {\r\n return this.regiForm.get(\"email\").hasError(\"required\")\r\n ? \"\"\r\n : this.regiForm.get(\"email\").hasError(\"pattern\")\r\n ? \"EmailInValid\"\r\n : // ? this.titleService.getTranslatedString(\"EmailInValid\")\r\n \"\";\r\n }\r\n\r\n getErrorPassword() {\r\n return this.regiForm.get(\"password\").hasError(\"required\")\r\n ? \"\"\r\n : this.regiForm.get(\"password\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.regiForm.get(\"password\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n \"\";\r\n }\r\n\r\n onCountryChange(obj) {\r\n this.countryCode = obj.dialCode;\r\n this.countryIsoCode = obj.iso2;\r\n }\r\n\r\n telInputObject(obj) {\r\n this.iniObj = obj;\r\n const countryData = obj.getSelectedCountryData();\r\n this.countryCode = countryData.dialCode;\r\n this.countryIsoCode = countryData.iso2;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // reset alerts on submit\r\n // this.alertService.clear();\r\n\r\n // stop here if form is invalid\r\n if (this.regiForm.invalid) {\r\n return;\r\n }\r\n\r\n if (!this.validMobileNo) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n\r\n this.regiForm.value.countryCode = \"+\" + this.countryCode;\r\n this.regiForm.value.countryIsoCode = this.countryIsoCode.toUpperCase();\r\n\r\n this.storeUserService\r\n .register(this.regiForm.value)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.alertService.success(data[\"message\"]);\r\n this.submitted = false;\r\n this.regiForm.reset();\r\n this.loading = false;\r\n this.router.navigate([`${constEnv.STORE_URL}/login`]);\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.message !== \"undefined\" ? err.error.message : \"\";\r\n if (msg) {\r\n this.alertService.danger(msg);\r\n }\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, Inject, OnDestroy } from \"@angular/core\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n FormControl,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n// import { AlertService } from 'common/services/alert.service';\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { StoreUserService } from \"common/services/store/storeUser.service\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\n\r\n@Component({\r\n selector: \"app-reset-password\",\r\n templateUrl: \"./reset-password.component.html\",\r\n styleUrls: [\"./reset-password.component.css\"],\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n RPForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n accessToken: string;\r\n\r\n constantConfig = constEnv;\r\n\r\n public showNewPassword: boolean = false;\r\n public showConfirmPassword: boolean = false;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alertService: AlertService,\r\n private userService: StoreUserService,\r\n private titleService: TitleService,\r\n private isLoadingService: IsLoadingService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"ResetPassword\");\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n this.document.body.classList.add(\"reset-password-body\");\r\n\r\n this.accessToken = this.route.snapshot.params.token;\r\n\r\n this.RPForm = this.formBuilder.group(\r\n {\r\n newPassword: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n ),\r\n confirmPassword: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n ),\r\n },\r\n { validator: CustomValidator.MatchPassword }\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"reset-password-body\");\r\n }\r\n\r\n getErrorNewPassword() {\r\n return this.RPForm.get(\"newPassword\").hasError(\"required\")\r\n ? \"\"\r\n : this.RPForm.get(\"newPassword\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.RPForm.get(\"newPassword\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n \"\";\r\n }\r\n\r\n getErrorConfirmPassword() {\r\n return this.RPForm.get(\"confirmPassword\").hasError(\"required\")\r\n ? \"\"\r\n : this.RPForm.get(\"confirmPassword\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.RPForm.get(\"confirmPassword\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.RPForm.get(\"confirmPassword\").hasError(\"confirmPassword\")\r\n ? \"NewPasswordAndConfirmPasswordMustBeSame\"\r\n : // ? this.titleService.getTranslatedString(\"NewPasswordAndConfirmPasswordMustBeSame\")\r\n \"\";\r\n }\r\n\r\n get f() {\r\n return this.RPForm.controls;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // reset alerts on submit\r\n // this.alertService.clear();\r\n\r\n // stop here if form is invalid\r\n if (this.RPForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n\r\n this.userService\r\n .resetPassword(this.accessToken, this.RPForm.value.newPassword)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.alertService.success(data[\"message\"]);\r\n this.submitted = false;\r\n this.RPForm.reset();\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n this.router.navigate([`${this.constantConfig.STORE_URL}/login`]);\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.message !== \"undefined\" ? err.error.message : \"\";\r\n if (msg) {\r\n // this.alertService.error(msg);\r\n this.alertService.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\n\r\n@Component({\r\n selector: \"app-aerial-view\",\r\n templateUrl: \"./aerial-view.component.html\",\r\n styleUrls: [\"./aerial-view.component.css\"],\r\n})\r\nexport class AerialViewComponent implements OnInit {\r\n config = constEnv;\r\n\r\n @ViewChild(\"autoShownModal\", { static: false })\r\n autoShownModal: ModalDirective;\r\n isModalShown = false;\r\n\r\n driverLists = Array(5).fill(5);\r\n reachedPickUp = Array(3).fill(3);\r\n journyStarted = Array(4).fill(4);\r\n available = Array(1).fill(1);\r\n all = Array(10).fill(10);\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private isLoadingService: IsLoadingService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"GodsView\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n }\r\n\r\n showModal(): void {\r\n this.isModalShown = true;\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n onHidden(): void {\r\n this.isModalShown = false;\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { AuthGuard } from \"common/_helpers/auth.guard\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { ListsComponent } from \"./lists/lists.component\";\r\nimport { DetailComponent } from \"./detail/detail.component\";\r\n\r\nconst STORE_ENDPOINT = constEnv.storeEndPoint;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${STORE_ENDPOINT}/cancel-request`,\r\n children: [\r\n { path: \"\", component: ListsComponent },\r\n { path: \":id\", component: DetailComponent },\r\n ],\r\n canActivate: [AuthGuard],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class CancelRequestRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { CancelRequestRoutingModule } from \"./cancel-request-routing.module\";\r\nimport { ListsComponent } from \"./lists/lists.component\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { TemplateDefaultModule } from \"../../shared/template-default/template-default.module\";\r\nimport { DataTablesModule } from \"angular-datatables\";\r\nimport { PipeModule } from \"common/_pipe/pipe.module\";\r\nimport { DetailComponent } from './detail/detail.component';\r\n\r\n@NgModule({\r\n declarations: [ListsComponent, DetailComponent],\r\n imports: [\r\n CommonModule,\r\n CancelRequestRoutingModule,\r\n ReactiveFormsModule,\r\n TranslateModule,\r\n ComponentModule,\r\n MaterialModule,\r\n TemplateDefaultModule,\r\n DataTablesModule,\r\n PipeModule,\r\n ],\r\n})\r\nexport class CancelRequestModule {}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { OrderService } from \"common/services/store/order.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\n\r\n@Component({\r\n selector: \"app-detail\",\r\n templateUrl: \"./detail.component.html\",\r\n styleUrls: [\"./detail.component.css\"],\r\n})\r\nexport class DetailComponent implements OnInit {\r\n requestId: number;\r\n\r\n config = constEnv;\r\n listUrl = \"\";\r\n requestDetail: any;\r\n constructor(\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private order: OrderService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Cancel Request Detail\");\r\n\r\n this.requestId =\r\n this.route.snapshot.params.id > 0 ? this.route.snapshot.params.id : 0;\r\n\r\n this.listUrl = `${this.config.STORE_URL}/cancel-request`;\r\n\r\n if (this.requestId <= 0) {\r\n this.router.navigate([this.listUrl]);\r\n return false;\r\n }\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.getCancelRequestDetail();\r\n }\r\n\r\n getCancelRequestDetail() {\r\n this.isLoadingService.add();\r\n this.order.getCancelRequestDetail(this.requestId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.requestDetail = data[\"data\"] as any;\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormBuilder } from \"@angular/forms\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { OrderService } from \"common/services/store/order.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { Paging } from \"src/app/pages/customer/return-request/return-request.component\";\r\nimport { Config } from \"datatables.net\";\r\n\r\n@Component({\r\n selector: \"app-lists\",\r\n templateUrl: \"./lists.component.html\",\r\n styleUrls: [\"./lists.component.css\"],\r\n})\r\nexport class ListsComponent implements OnInit {\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n config = constEnv;\r\n\r\n lists: any[] = [];\r\n hasLists = false;\r\n constructor(\r\n private titleService: TitleService,\r\n private fb: FormBuilder,\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private orderService: OrderService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Cancel Requests\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.createDataTable();\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: 1,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.hasLists = true;\r\n\r\n let paging: Paging = null;\r\n\r\n this.orderService\r\n .getCancelRequestLists(dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n const res = data as any;\r\n\r\n if (res.status === true) {\r\n this.lists = res.data as any[];\r\n\r\n paging = JSON.parse(res.paging) as Paging;\r\n } else {\r\n paging = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n } as Paging;\r\n\r\n this.alert.danger(data[\"message\"]);\r\n this.lists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n\r\n // this.loader.hideLoader();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n // this.alert.danger(msg);\r\n this.lists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n\r\n // this.loader.hideLoader();\r\n }\r\n );\r\n },\r\n };\r\n }\r\n}\r\n","import { DOCUMENT } from \"@angular/common\";\r\nimport { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { TitleService } from \"common/services/title.service\";\r\n\r\nimport { ChartOptions, ChartType, ChartDataSets } from \"chart.js\";\r\nimport * as pluginDataLabels from \"chartjs-plugin-datalabels\";\r\nimport {\r\n Label,\r\n monkeyPatchChartJsLegend,\r\n monkeyPatchChartJsTooltip,\r\n SingleDataSet,\r\n} from \"ng2-charts\";\r\nimport { StoreUserService } from \"common/services/store/storeUser.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { Dashboard } from \"common/_models/store/dashboard\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\n\r\n@Component({\r\n selector: \"app-dashboard\",\r\n templateUrl: \"./dashboard.component.html\",\r\n styleUrls: [\"./dashboard.component.css\"],\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n configConstants = constEnv;\r\n\r\n dashboardData: Dashboard = null;\r\n\r\n public barChartOptions: ChartOptions = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n layout: {\r\n padding: {\r\n left: 0,\r\n right: 0,\r\n top: 20,\r\n bottom: 0,\r\n },\r\n },\r\n // We use these empty structures as placeholders for dynamic theming.\r\n scales: {\r\n xAxes: [{}],\r\n yAxes: [\r\n {\r\n ticks: {\r\n beginAtZero: true,\r\n },\r\n },\r\n ],\r\n },\r\n plugins: {\r\n datalabels: {\r\n anchor: \"end\",\r\n align: \"end\",\r\n },\r\n },\r\n };\r\n public barChartLabels: Label[] = [];\r\n public barChartType: ChartType = \"bar\";\r\n public barChartLegend = false;\r\n public barChartPlugins = [pluginDataLabels];\r\n\r\n public barChartData: ChartDataSets[] = [\r\n {\r\n data: [],\r\n label: \"Months\",\r\n backgroundColor: \"#337cfe\",\r\n borderColor: \"#337cfe\",\r\n hoverBackgroundColor: \"#337cfe\",\r\n },\r\n ];\r\n\r\n // line chart\r\n public lineChartOptions: ChartOptions = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n layout: {\r\n padding: {\r\n left: 0,\r\n right: 0,\r\n top: 30,\r\n bottom: 0,\r\n },\r\n },\r\n // We use these empty structures as placeholders for dynamic theming.\r\n scales: {\r\n xAxes: [{}],\r\n yAxes: [\r\n {\r\n ticks: {\r\n beginAtZero: true,\r\n },\r\n },\r\n ],\r\n },\r\n plugins: {\r\n datalabels: {\r\n anchor: \"end\",\r\n align: \"end\",\r\n },\r\n },\r\n };\r\n\r\n public lineChartPlugins = [pluginDataLabels];\r\n public lineChartLegend = false;\r\n public lineChartType: ChartType = \"line\";\r\n public lineChartLabels: Label[] = [];\r\n public lineChartData: ChartDataSets[] = [\r\n {\r\n data: [],\r\n label: \"Months\",\r\n backgroundColor: \"rgba(255,255,255,0)\",\r\n borderColor: \"#2196f3\",\r\n // hoverBackgroundColor: '#337cfe'\r\n },\r\n ];\r\n\r\n //Pic Chart\r\n public pieChartOptions: ChartOptions = {\r\n responsive: true,\r\n legend: {\r\n position: \"left\",\r\n align: \"center\",\r\n },\r\n };\r\n public pieChartType: ChartType = \"doughnut\";\r\n public pieChartLegend = true;\r\n public pieChartPlugins = [];\r\n\r\n public orderPieChartLabels: Label[] = [];\r\n public productPieChartLabels: Label[] = [];\r\n public orderPieChartData: SingleDataSet = [];\r\n public productPieChartData: SingleDataSet = [];\r\n\r\n public repeatCustomerLabel: Label[] = [];\r\n public repeatCustomerData: SingleDataSet[] = [];\r\n\r\n public defaultCurrency = \"\";\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService,\r\n private storeUser: StoreUserService,\r\n private alert: AlertService,\r\n private gs: GeneralService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Dashboard\");\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n this.defaultCurrency = this.gs.getDefaultCurrency();\r\n\r\n this.loadDashboard();\r\n }\r\n\r\n loadDashboard() {\r\n this.isLoadingService.add();\r\n this.storeUser.getStoreDashboard().subscribe(\r\n (data) => {\r\n const res = data as DashboardResponse;\r\n if (res.status === true) {\r\n this.dashboardData = new Dashboard().deserialize(res.data);\r\n\r\n this.barChartLabels = this.dashboardData.orderStatusticsData.month;\r\n this.barChartData[0].data =\r\n this.dashboardData.orderStatusticsData.value;\r\n\r\n const lineLables = [];\r\n const lineChartData = [];\r\n this.dashboardData.orderSalesData.forEach((single) => {\r\n lineLables.push(single.month);\r\n lineChartData.push(single.orderCount);\r\n });\r\n\r\n this.lineChartLabels = lineLables;\r\n this.lineChartData[0].data = lineChartData;\r\n\r\n const orderPieChartData = [];\r\n const orderPieChartLabels = [];\r\n for (var key in this.dashboardData.orderStatusCounter) {\r\n if (\r\n this.dashboardData.orderStatusCounter.hasOwnProperty(key) &&\r\n key !== \"total\"\r\n ) {\r\n orderPieChartLabels.push(key.toUpperCase());\r\n orderPieChartData.push(\r\n this.dashboardData.orderStatusCounter[key]\r\n );\r\n }\r\n }\r\n this.orderPieChartLabels = orderPieChartLabels;\r\n this.orderPieChartData = orderPieChartData;\r\n\r\n const productChartLabels = [];\r\n const productChartData = [];\r\n for (var key in this.dashboardData.productCounter) {\r\n if (\r\n this.dashboardData.productCounter.hasOwnProperty(key) &&\r\n key !== \"total\"\r\n ) {\r\n productChartLabels.push(key.toUpperCase());\r\n productChartData.push(this.dashboardData.productCounter[key]);\r\n }\r\n }\r\n\r\n this.productPieChartData = productChartData;\r\n this.productPieChartLabels = productChartLabels;\r\n\r\n const repeatCustLabels = [];\r\n const reapeatCustData = [];\r\n for (var key in this.dashboardData.repeatCustomerCounter) {\r\n if (\r\n this.dashboardData.repeatCustomerCounter.hasOwnProperty(key) &&\r\n key !== \"total\"\r\n ) {\r\n repeatCustLabels.push(key.toUpperCase());\r\n reapeatCustData.push(\r\n this.dashboardData.repeatCustomerCounter[key]\r\n );\r\n }\r\n }\r\n this.repeatCustomerData = reapeatCustData;\r\n this.repeatCustomerLabel = repeatCustLabels;\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n // this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface DashboardResponse {\r\n status: boolean;\r\n message: string;\r\n data: Dashboard;\r\n}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { ConfirmDialogComponent } from \"common/_components/confirm-dialog/confirm-dialog.component\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { BsModalRef, ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"app-delivery-zone\",\r\n templateUrl: \"./delivery-zone.component.html\",\r\n styleUrls: [\"./delivery-zone.component.css\"],\r\n})\r\nexport class DeliveryZoneComponent implements OnInit {\r\n modalRef: BsModalRef;\r\n subscriptions: Subscription[] = [];\r\n\r\n deliveryZoneActionForm: FormGroup;\r\n submitted = false;\r\n\r\n lists: DeliveryZoneList[] = [];\r\n\r\n @ViewChild(\"DZActionModel\", { static: false })\r\n DZActionModel: ModalDirective;\r\n\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n countryLists: countryList[] = [];\r\n stateLists: stateList[] = [];\r\n cityLists: cityList[] = [];\r\n\r\n modelTitle: string;\r\n\r\n constructor(\r\n private alert: AlertService,\r\n private ls: IsLoadingService,\r\n private fb: FormBuilder,\r\n private titleService: TitleService,\r\n private dialog: MatDialog,\r\n private gs: GeneralService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Zone\");\r\n if (this.ls.isLoading$()) {\r\n this.ls.remove();\r\n }\r\n this.modelTitle = \"AddZone\";\r\n this.createDataTable();\r\n this.getCountryList();\r\n this.makeForm();\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: -1,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n // const searchparams = this.searchForm.value;\r\n // if (searchparams.filterText !== '') {\r\n // dataTablesParameters.search.column = searchparams.filterBy;\r\n // dataTablesParameters.search.value = searchparams.filterText;\r\n // }\r\n\r\n // dataTablesParameters.search.dateTimeForm = '';\r\n // dataTablesParameters.search.dateTimeTo = '';\r\n // if (searchparams.orderFilterDates !== '') {\r\n // const oDates = searchparams.orderFilterDates;\r\n // dataTablesParameters.search.dateTimeForm = this.datePipe.transform( oDates[0], this.dateFormat );\r\n // dataTablesParameters.search.dateTimeTo = this.datePipe.transform( oDates[1], this.dateFormat );\r\n // }\r\n\r\n let paging: Paginate = null;\r\n\r\n this.gs.getDeliveryZoneLists(dataTablesParameters).subscribe(\r\n (data) => {\r\n const res = data as DeliveryZoneListResponse;\r\n\r\n if (res.status === true) {\r\n this.lists = res.data as DeliveryZoneList[];\r\n\r\n paging = JSON.parse(res.paging) as Paginate;\r\n } else {\r\n paging = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n } as Paginate;\r\n\r\n this.alert.danger(data[\"message\"]);\r\n this.lists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n\r\n // this.loader.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(msg);\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n this.lists = [];\r\n }\r\n // this.loader.hideLoader();\r\n }\r\n );\r\n },\r\n };\r\n }\r\n\r\n openModal() {\r\n this.DZActionModel.show();\r\n }\r\n\r\n hideModal() {\r\n this.submitted = false;\r\n this.deliveryZoneActionForm.reset();\r\n }\r\n\r\n makeForm() {\r\n this.deliveryZoneActionForm = this.fb.group({\r\n id: [0],\r\n zoneName: [\"\", Validators.required],\r\n roleIdentifier: [0],\r\n roleIdentifierId: [0],\r\n countryId: [null],\r\n stateId: [null],\r\n cityId: [null],\r\n });\r\n }\r\n\r\n private getCountryList() {\r\n this.gs.getAllCountry().subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.countryLists = data[\"data\"];\r\n }\r\n this.ls.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n\r\n onCountryChange(countryId: number) {\r\n if (countryId > 0) {\r\n this.ls.add();\r\n this.stateLists = [];\r\n this.cityLists = [];\r\n this.deliveryZoneActionForm.get(\"stateId\").setValue(null);\r\n this.deliveryZoneActionForm.get(\"cityId\").setValue(null);\r\n this.gs.getstateByCountryId(countryId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.stateLists = data[\"data\"];\r\n }\r\n this.ls.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.remove();\r\n }\r\n );\r\n } else {\r\n this.stateLists = [];\r\n this.cityLists = [];\r\n }\r\n }\r\n\r\n onStateChange(stateId: number) {\r\n if (stateId > 0) {\r\n this.ls.add();\r\n this.cityLists = [];\r\n this.deliveryZoneActionForm.get(\"cityId\").setValue(null);\r\n this.gs.getcityByStateId(stateId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.cityLists = data[\"data\"];\r\n }\r\n this.ls.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.remove();\r\n }\r\n );\r\n } else {\r\n this.cityLists = [];\r\n }\r\n }\r\n\r\n changeStatus(id: number, status: boolean) {\r\n if (id > 0) {\r\n this.ls.add();\r\n this.gs.deliveryZoneChangeStatus(id, status ? 1 : 0).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true && data[\"message\"] !== \"\") {\r\n this.alert.success(data[\"message\"]);\r\n } else {\r\n if (data[\"message\"] !== \"\") {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n }\r\n\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) =>\r\n dtInstance.draw()\r\n );\r\n this.ls.remove();\r\n // this.loadProductLists();\r\n },\r\n (err) => {\r\n this.alert.danger(err.error.message);\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n }\r\n\r\n onClear(type: string) {\r\n if (type == \"country\") {\r\n this.deliveryZoneActionForm.get(\"stateId\").setValue(null);\r\n this.stateLists = [];\r\n }\r\n this.deliveryZoneActionForm.get(\"cityId\").setValue(null);\r\n this.cityLists = [];\r\n }\r\n\r\n delete(id) {\r\n if (id > 0) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm\",\r\n message: \"DeleteConfirm\",\r\n },\r\n });\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n this.ls.add();\r\n this.gs.deleteDeliveryZone(id).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.datatableElement.dtInstance.then(\r\n // (dtInstance: DataTables.Api) => dtInstance.draw()\r\n (dtInstance) => dtInstance.draw()\r\n );\r\n this.ls.remove();\r\n // this.loadProductLists();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n }\r\n\r\n editDeliveryZone(id: number) {\r\n this.ls.add();\r\n this.gs.getDeliveryZoneById(id).subscribe(\r\n (data) => {\r\n const res = data as DeliveryZoneResponse;\r\n\r\n if (res.status === true) {\r\n this.modelTitle = \"EditZone\";\r\n const formEditData = res.data as DeliveryZoneList;\r\n\r\n this.deliveryZoneActionForm.get(\"id\").setValue(formEditData.id);\r\n this.deliveryZoneActionForm\r\n .get(\"zoneName\")\r\n .setValue(formEditData.zoneName);\r\n this.deliveryZoneActionForm\r\n .get(\"countryId\")\r\n .setValue(\r\n formEditData.countryId > 0 ? formEditData.countryId : null\r\n );\r\n\r\n this.onCountryChange(formEditData.countryId);\r\n\r\n this.deliveryZoneActionForm\r\n .get(\"stateId\")\r\n .setValue(formEditData.stateId > 0 ? formEditData.stateId : null);\r\n\r\n this.onStateChange(formEditData.stateId);\r\n\r\n this.deliveryZoneActionForm\r\n .get(\"cityId\")\r\n .setValue(formEditData.cityId > 0 ? formEditData.cityId : null);\r\n this.deliveryZoneActionForm\r\n .get(\"roleIdentifier\")\r\n .setValue(formEditData.roleIdentifier);\r\n this.deliveryZoneActionForm\r\n .get(\"roleIdentifierId\")\r\n .setValue(formEditData.roleIdentifierId);\r\n\r\n this.ls.remove();\r\n this.DZActionModel.show();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(msg);\r\n }\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n\r\n get f() {\r\n return this.deliveryZoneActionForm.controls;\r\n }\r\n\r\n submitForm() {\r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.deliveryZoneActionForm.invalid) {\r\n return;\r\n }\r\n\r\n this.deliveryZoneActionForm.value.id =\r\n this.deliveryZoneActionForm.value.id !== null\r\n ? this.deliveryZoneActionForm.value.id\r\n : 0;\r\n this.deliveryZoneActionForm.value.roleIdentifier =\r\n this.deliveryZoneActionForm.value.roleIdentifier !== null\r\n ? this.deliveryZoneActionForm.value.roleIdentifier\r\n : 0;\r\n this.deliveryZoneActionForm.value.roleIdentifierId =\r\n this.deliveryZoneActionForm.value.roleIdentifierId !== null\r\n ? this.deliveryZoneActionForm.value.roleIdentifierId\r\n : 0;\r\n\r\n this.deliveryZoneActionForm.value.countryId =\r\n this.deliveryZoneActionForm.value.countryId !== null\r\n ? this.deliveryZoneActionForm.value.countryId\r\n : 0;\r\n\r\n this.deliveryZoneActionForm.value.stateId =\r\n this.deliveryZoneActionForm.value.stateId !== null\r\n ? this.deliveryZoneActionForm.value.stateId\r\n : 0;\r\n\r\n this.deliveryZoneActionForm.value.cityId =\r\n this.deliveryZoneActionForm.value.cityId !== null\r\n ? this.deliveryZoneActionForm.value.cityId\r\n : 0;\r\n\r\n this.ls.add();\r\n\r\n this.gs.addEditDeliveryZone(this.deliveryZoneActionForm.value).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.DZActionModel.hide();\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) =>\r\n dtInstance.draw()\r\n );\r\n this.ls.remove();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.remove();\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface DeliveryZoneListResponse {\r\n status: boolean;\r\n message: string;\r\n paging: string;\r\n data: any[];\r\n}\r\n\r\ninterface DeliveryZoneResponse {\r\n status: boolean;\r\n message: string;\r\n data: DeliveryZoneList;\r\n}\r\n\r\ninterface Paginate {\r\n totalCount: number;\r\n totalRowsAfterFiltering: number;\r\n pageSize: number;\r\n currentPage: number;\r\n totalPages: number;\r\n previousPage: string;\r\n nextPage: string;\r\n}\r\n\r\ninterface DeliveryZoneList {\r\n id: number;\r\n zoneName: string;\r\n roleIdentifier: number;\r\n roleIdentifierId: number;\r\n countryId: number;\r\n stateId: number;\r\n cityId: number;\r\n status: boolean;\r\n}\r\n\r\ninterface countryList {\r\n countryId: number;\r\n countryName?: string;\r\n}\r\n\r\ninterface stateList {\r\n stateId: number;\r\n stateName?: string;\r\n}\r\n\r\ninterface cityList {\r\n cityId: number;\r\n cityName?: string;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n NgZone,\r\n ElementRef,\r\n Directive,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n Validators,\r\n FormArray,\r\n FormControl,\r\n ValidatorFn,\r\n AbstractControl,\r\n} from \"@angular/forms\";\r\nimport { first } from \"rxjs/operators\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { MapsAPILoader } from \"@agm/core\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { DriverService } from \"common/services/store/driver.service\";\r\nimport { StoreDriver } from \"common/_models/store/storeDriver\";\r\nimport { AddressInfo } from \"common/_components/maps/interfaces/address-info\";\r\n\r\n@Component({\r\n selector: \"app-actions\",\r\n templateUrl: \"./actions.component.html\",\r\n styleUrls: [\"./actions.component.css\"],\r\n})\r\nexport class ActionsComponent implements OnInit {\r\n config = constEnv;\r\n\r\n actionForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n\r\n languages = [];\r\n\r\n pageTitle = \"AddDriver\";\r\n\r\n action: string;\r\n id: number;\r\n\r\n iniObj: any;\r\n countryCode: string;\r\n countryIsoCode: string;\r\n validMobileNo = true;\r\n\r\n zoom: number = this.config.defaultZoom;\r\n // initial center position for the map\r\n lat: number = this.config.defaultLatitude;\r\n lng: number = this.config.defaultLongitude;\r\n\r\n // private geoCoder;\r\n // @ViewChild(\"search\", { static: false })\r\n // public searchElementRef: ElementRef;\r\n markers: Marker[] = [];\r\n\r\n @ViewChild(\"profileFileInput\", { static: true }) profileFileInput: ElementRef;\r\n profileFileData: File = null;\r\n profilePreviewUrl: any = null;\r\n\r\n countryLists: CountryList[] = [];\r\n stateLists: StateList[] = [];\r\n cityLists: CityList[] = [];\r\n\r\n isEmailAvailable = false;\r\n\r\n listUrl = `${this.config.STORE_URL}/driver/lists`;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private alert: AlertService,\r\n private titleService: TitleService,\r\n private isLoadingService: IsLoadingService,\r\n // private mapsAPILoader: MapsAPILoader,\r\n // private ngZone: NgZone,\r\n private general: GeneralService,\r\n private ls: LanguageService,\r\n private driver: DriverService\r\n ) {\r\n this.action = route.snapshot.params.action;\r\n }\r\n\r\n ngOnInit() {\r\n this.document.body.classList.add(\"driver-action\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n switch (this.action) {\r\n case \"edit\":\r\n const id = this.route.snapshot.params.id;\r\n this.id = typeof id !== \"undefined\" ? id : 0;\r\n if (this.id <= 0) {\r\n this.router.navigate([this.listUrl]);\r\n }\r\n\r\n this.pageTitle = \"EditDriver\";\r\n\r\n if (this.id > 0) {\r\n this.isLoadingService.add();\r\n this.driver\r\n .get(this.id)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n const res = data as DriverResponse;\r\n if (res.status === true) {\r\n this.setFormValue(res.data);\r\n\r\n this.isLoadingService.remove();\r\n } else {\r\n this.alert.danger(res.message);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n this.alert.danger(err.error.message);\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n break;\r\n\r\n case \"add\":\r\n break;\r\n\r\n default:\r\n this.router.navigate([this.listUrl]);\r\n break;\r\n }\r\n\r\n this.titleService.setTitle(this.pageTitle);\r\n\r\n this.languages = this.ls.getAvailableLanguages();\r\n\r\n this.makeForm();\r\n\r\n if (this.action === \"add\") {\r\n this.actionForm\r\n .get(\"password\")\r\n .setValidators(\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n );\r\n }\r\n\r\n // this.placeAutoCompleteField();\r\n this.getCountryList();\r\n }\r\n\r\n makeForm() {\r\n const emailregex: RegExp =\r\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n const zipCodeRegex = /^[A-Za-z0-9][A-Za-z0-9\\s-]*(?!\\s-)$/;\r\n\r\n this.actionForm = this.fb.group({\r\n driverId: [0],\r\n profilePicture: [],\r\n firstName: [\"\", Validators.required],\r\n lastName: [\"\", Validators.required],\r\n email: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.pattern(emailregex),\r\n ])\r\n ),\r\n password: new FormControl(\r\n \"\",\r\n Validators.compose([Validators.minLength(8), Validators.maxLength(16)])\r\n ),\r\n phone: [\"\", Validators.required],\r\n language: [\"\", Validators.required],\r\n location: [\"\", Validators.required],\r\n locationLatitude: [\"\"],\r\n locationLongitude: [\"\"],\r\n address: [\"\"],\r\n addressLine1: [\"\", Validators.required],\r\n addressLine2: [\"\"],\r\n landmark: [\"\"],\r\n zipcode: [\"\", [Validators.required, this.zipCodeValidator()]],\r\n country: [null, Validators.required],\r\n state: [null, Validators.required],\r\n city: [null, Validators.required],\r\n });\r\n }\r\n\r\n private setFormValue(formData: StoreDriver) {\r\n this.actionForm.get(\"driverId\").setValue(formData.id);\r\n this.actionForm.get(\"firstName\").setValue(formData.firstName);\r\n this.actionForm.get(\"lastName\").setValue(formData.lastName);\r\n this.actionForm.get(\"email\").setValue(formData.email);\r\n this.actionForm.get(\"phone\").setValue(formData.phone);\r\n this.actionForm.get(\"language\").setValue(formData.langId.toString());\r\n\r\n this.actionForm.get(\"location\").setValue(formData.address.location);\r\n this.actionForm.get(\"locationLatitude\").setValue(formData.address.latitude);\r\n this.actionForm\r\n .get(\"locationLongitude\")\r\n .setValue(formData.address.longitude);\r\n this.actionForm.get(\"address\").setValue(formData.address.addressLine);\r\n this.actionForm.get(\"addressLine1\").setValue(formData.address.addressLine1);\r\n this.actionForm.get(\"addressLine2\").setValue(formData.address.addressLine2);\r\n this.actionForm.get(\"landmark\").setValue(formData.address.landmark);\r\n this.actionForm.get(\"zipcode\").setValue(formData.address.zipCode);\r\n this.actionForm.get(\"country\").setValue(formData.address.countryId);\r\n this.actionForm.get(\"state\").setValue(formData.address.stateId);\r\n this.actionForm.get(\"state\").setValue(formData.address.cityId);\r\n\r\n this.profilePreviewUrl = formData.profileImage;\r\n\r\n this.onCountryChange(formData.address.countryId, formData.address.stateId);\r\n this.onStateChange(formData.address.stateId, formData.address.cityId);\r\n if (formData.phoneCode !== null) {\r\n this.iniObj.setNumber(formData.phoneCode);\r\n }\r\n\r\n this.isEmailAvailable = formData.email !== \"\" ? true : false;\r\n\r\n this.lat = formData.address.latitude;\r\n this.lng = formData.address.longitude;\r\n\r\n this.createMarker(this.lat, this.lng, formData.address.addressLine, true);\r\n }\r\n\r\n zipCodeValidator(): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n const value = control.value;\r\n if (!value) return null;\r\n if (\r\n value.startsWith(\" \") ||\r\n value.endsWith(\" \") ||\r\n value.startsWith(\"-\") ||\r\n value.endsWith(\"-\")\r\n ) {\r\n return { invalidZipCode: { value: control.value } };\r\n }\r\n const spacesCount = (value.match(/ /g) || []).length;\r\n const dashesCount = (value.match(/-/g) || []).length;\r\n\r\n if (spacesCount > 1 || dashesCount > 1) {\r\n return { invalidZipCode: { value: control.value } };\r\n }\r\n\r\n const regex = /^[a-zA-Z0-9\\- ]+$/;\r\n if (!regex.test(value)) {\r\n return { invalidZipCode: { value: control.value } };\r\n }\r\n\r\n return null;\r\n };\r\n }\r\n\r\n getErrorEmail() {\r\n return this.actionForm.get(\"email\").hasError(\"required\")\r\n ? \"\"\r\n : this.actionForm.get(\"email\").hasError(\"pattern\")\r\n ? \"EmailInValid\"\r\n : // ? this.titleService.getTranslatedString(\"EmailInValid\")\r\n \"\";\r\n }\r\n getErrorPassword() {\r\n return this.actionForm.get(\"password\").hasError(\"required\")\r\n ? \"\"\r\n : this.actionForm.get(\"password\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.actionForm.get(\"password\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n \"\";\r\n }\r\n\r\n hasError(obj) {\r\n if (!obj && this.countryIsoCode === \"ae\") {\r\n const selectedNumber = this.iniObj.getNumber();\r\n this.validMobileNo =\r\n /^(?:\\+971|00971|0)?(?:50|52|53|54|55|56|57|58|59|2|3|4|6|7|9)\\d{7}$/gm.test(\r\n selectedNumber\r\n );\r\n } else {\r\n this.validMobileNo = obj;\r\n }\r\n }\r\n\r\n onPhoneCodeChange(obj) {\r\n this.countryCode = obj.dialCode;\r\n this.countryIsoCode = obj.iso2;\r\n }\r\n\r\n telInputObject(obj) {\r\n this.iniObj = obj;\r\n const countryData = obj.getSelectedCountryData();\r\n this.countryCode = countryData.dialCode;\r\n this.countryIsoCode = countryData.iso2;\r\n }\r\n\r\n private placeAutoCompleteField() {\r\n // this.mapsAPILoader.load().then(() => {\r\n // // this.setCurrentLocation();\r\n // this.geoCoder = new google.maps.Geocoder();\r\n // const autocomplete = new google.maps.places.Autocomplete(\r\n // this.searchElementRef.nativeElement,\r\n // {\r\n // types: [\"address\"],\r\n // }\r\n // );\r\n // autocomplete.addListener(\"place_changed\", () => {\r\n // this.ngZone.run(() => {\r\n // // get the place result\r\n // const place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n // // verify result\r\n // if (place.geometry === undefined || place.geometry === null) {\r\n // return;\r\n // }\r\n // // set latitude, longitude and zoom\r\n // this.lat = place.geometry.location.lat();\r\n // this.lng = place.geometry.location.lng();\r\n // this.zoom = 12;\r\n // this.actionForm.get(\"location\").setValue(place.formatted_address);\r\n // this.actionForm.get(\"locationLatitude\").setValue(this.lat);\r\n // this.actionForm.get(\"locationLongitude\").setValue(this.lng);\r\n // this.createMarker(this.lat, this.lng);\r\n // });\r\n // });\r\n // });\r\n }\r\n\r\n createMarker(lat, lng, label = \"\", draggable = false) {\r\n this.markers.push({\r\n lat,\r\n lng,\r\n label,\r\n draggable,\r\n });\r\n }\r\n\r\n profileFileProgress(profileFileInput: any) {\r\n this.profileFileData = profileFileInput.target.files[0] as File;\r\n this.profileImagePreview();\r\n }\r\n\r\n profileImagePreview() {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(this.profileFileData);\r\n reader.onload = (_event) => {\r\n this.profilePreviewUrl = reader.result;\r\n // this.addProductForm.get('primaryImage').setValue({\r\n // filename: this.primaryFileData.name,\r\n // filetype: this.primaryFileData.type,\r\n // value: this.primaryPreviewUrl.split(',')[1]\r\n // });\r\n };\r\n }\r\n\r\n private getCountryList() {\r\n this.general.getAllCountry().subscribe((data) => {\r\n if (data[\"status\"] === true) {\r\n this.countryLists = data[\"data\"];\r\n }\r\n this.isLoadingService.remove();\r\n });\r\n }\r\n\r\n onCountryChange(countryId: number, selectedStateId: number = 0) {\r\n if (countryId > 0) {\r\n this.isLoadingService.add();\r\n this.stateLists = [];\r\n this.cityLists = [];\r\n this.actionForm.get(\"state\").setValue(null);\r\n this.actionForm.get(\"city\").setValue(null);\r\n this.general.getstateByCountryId(countryId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.stateLists = data[\"data\"];\r\n\r\n if (selectedStateId > 0) {\r\n this.actionForm.get(\"state\").setValue(selectedStateId);\r\n }\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n } else {\r\n this.stateLists = [];\r\n this.cityLists = [];\r\n }\r\n }\r\n\r\n onStateChange(stateId: number, selectedCityId: number = 0) {\r\n if (stateId > 0) {\r\n this.isLoadingService.add();\r\n this.cityLists = [];\r\n this.actionForm.get(\"city\").setValue(null);\r\n this.general.getcityByStateId(stateId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.cityLists = data[\"data\"];\r\n\r\n if (selectedCityId > 0) {\r\n this.actionForm.get(\"city\").setValue(selectedCityId);\r\n }\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n } else {\r\n this.cityLists = [];\r\n }\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.actionForm.invalid) {\r\n return;\r\n }\r\n\r\n if (!this.validMobileNo) {\r\n return;\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append(\"FirstName\", this.actionForm.value.firstName);\r\n formData.append(\"LastName\", this.actionForm.value.lastName);\r\n formData.append(\"Email\", this.actionForm.value.email);\r\n formData.append(\"Phone\", this.actionForm.value.phone);\r\n formData.append(\"PhoneCode\", this.countryCode);\r\n formData.append(\"Password\", this.actionForm.value.password);\r\n formData.append(\"RegionCode\", this.countryIsoCode);\r\n formData.append(\"address.Location\", this.actionForm.value.location);\r\n formData.append(\"address.AddressLine\", this.actionForm.value.address);\r\n formData.append(\"address.AddressLine1\", this.actionForm.value.addressLine1);\r\n formData.append(\"address.AddressLine2\", this.actionForm.value.addressLine2);\r\n formData.append(\"address.Landmark\", this.actionForm.value.landmark);\r\n formData.append(\"address.ZipCode\", this.actionForm.value.zipcode);\r\n formData.append(\r\n \"address.Longitude\",\r\n this.actionForm.value.locationLongitude\r\n );\r\n formData.append(\"address.Latitude\", this.actionForm.value.locationLatitude);\r\n formData.append(\"address.CityId\", this.actionForm.value.city);\r\n formData.append(\"address.CountryId\", this.actionForm.value.country);\r\n formData.append(\"address.StateId\", this.actionForm.value.state);\r\n\r\n if (this.profileFileData) {\r\n formData.append(\"ProfilePicture\", this.profileFileData);\r\n }\r\n\r\n let action = \"add\";\r\n if (this.actionForm.value.driverId > 0) {\r\n action = \"edit\";\r\n formData.append(\"Id\", this.actionForm.value.driverId);\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n\r\n this.driver\r\n .action(action, formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.router.navigate([`${this.listUrl}`]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n getSelectedAddress(address: AddressInfo) {\r\n if (address) {\r\n this.actionForm.get(\"location\").setValue(address.text);\r\n this.actionForm.get(\"locationLatitude\").setValue(address.latlng.lat);\r\n this.actionForm.get(\"locationLongitude\").setValue(address.latlng.lng);\r\n const selectedCountry = this.countryLists.find(\r\n (item) => item.countryName === address.properties.CntryName\r\n );\r\n if (selectedCountry) {\r\n this.actionForm.get(\"country\").setValue(selectedCountry.countryId);\r\n this.onCountryChange(selectedCountry.countryId);\r\n }\r\n setTimeout(() => {\r\n const selectedState = this.stateLists.find(\r\n (item) => item.stateName === address.properties.Region\r\n );\r\n if (selectedState) {\r\n this.actionForm.get(\"state\").setValue(selectedState.stateId);\r\n this.onStateChange(selectedState.stateId);\r\n }\r\n setTimeout(() => {\r\n const selectedCity = this.cityLists.find(\r\n (item) => item.cityName === address.properties.City\r\n );\r\n if (selectedCity) {\r\n this.actionForm.get(\"city\").setValue(selectedCity.cityId);\r\n }\r\n }, 500);\r\n }, 500);\r\n // this.actionForm.get(\"storeAddress\").setValue(storeData.addressLine);\r\n const postalCode = address.properties.PostalExt\r\n ? address.properties.Postal + \" \" + address.properties.PostalExt\r\n : address.properties.Postal;\r\n this.actionForm.get(\"zipcode\").setValue(postalCode);\r\n const stAddress = address.properties.StAddr\r\n ? address.properties.StAddr\r\n : \"\";\r\n const stAddressLine = address.properties.Address\r\n ? address.properties.Address\r\n : \"\";\r\n const addressLine1 = stAddress ? stAddress : stAddressLine;\r\n this.actionForm.get(\"addressLine1\").setValue(addressLine1);\r\n const nbrhd = address.properties.Nbrhd ? address.properties.Nbrhd : \"\";\r\n const nbrhdLine = address.properties.Neighborhood\r\n ? address.properties.Neighborhood\r\n : \"\";\r\n const neighborhood = nbrhd ? nbrhd : nbrhdLine;\r\n this.actionForm.get(\"landmark\").setValue(neighborhood);\r\n this.updateAddressLine();\r\n }\r\n }\r\n\r\n updateAddressLine() {\r\n const addressLine1 = this.actionForm.get(\"addressLine1\").value;\r\n const addressLine2 = this.actionForm.get(\"addressLine2\").value;\r\n const landmark = this.actionForm.get(\"landmark\").value;\r\n const postcode = this.actionForm.get(\"zipcode\").value;\r\n\r\n const combinedAddress = [addressLine1, addressLine2, landmark, postcode]\r\n .filter(Boolean)\r\n .join(\", \");\r\n\r\n this.actionForm.get(\"address\").setValue(combinedAddress);\r\n }\r\n}\r\n\r\ninterface Marker {\r\n lat: number;\r\n lng: number;\r\n label?: string;\r\n draggable: boolean;\r\n}\r\n\r\ninterface CountryList {\r\n countryId: number;\r\n countryName?: string;\r\n}\r\n\r\ninterface StateList {\r\n stateId: number;\r\n stateName?: string;\r\n}\r\n\r\ninterface CityList {\r\n cityId: number;\r\n cityName?: string;\r\n}\r\n\r\ninterface DriverResponse {\r\n status: boolean;\r\n message: string;\r\n data: StoreDriver;\r\n}\r\n","import { DatePipe } from \"@angular/common\";\r\nimport { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { DriverService } from \"common/services/store/driver.service\";\r\n\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport {\r\n StoreDriver,\r\n StoreDriverDocument,\r\n} from \"common/_models/store/storeDriver\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { first } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"app-documents\",\r\n templateUrl: \"./documents.component.html\",\r\n styleUrls: [\"./documents.component.css\"],\r\n})\r\nexport class DocumentsComponent implements OnInit {\r\n config = constEnv;\r\n\r\n driverId: number;\r\n\r\n driverInfo: StoreDriver;\r\n\r\n @ViewChild(\"autoShownModal\", { static: false })\r\n autoShownModal: ModalDirective;\r\n isModalShown = false;\r\n\r\n docForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n\r\n fileData: File = null;\r\n previewUrl: any = null;\r\n fileUploadProgress: string = null;\r\n uploadedFilePath: string = null;\r\n fileUplaodName: string = null;\r\n dateFormat = \"dd-MMM-yyyy\";\r\n\r\n selectedDoc: StoreDriverDocument;\r\n\r\n listUrl = `${this.config.STORE_URL}/driver/lists`;\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private isLoadingService: IsLoadingService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private driver: DriverService,\r\n private alert: AlertService,\r\n private datePipe: DatePipe,\r\n private fb: FormBuilder\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"DriverDocuments\");\r\n\r\n const id = this.route.snapshot.params.id;\r\n this.driverId = typeof id !== \"undefined\" ? id : 0;\r\n if (this.driverId <= 0) {\r\n this.router.navigate([this.listUrl]);\r\n }\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.getDiverInfo();\r\n\r\n this.driverInfo = new StoreDriver();\r\n\r\n this.createDocumentForm();\r\n }\r\n\r\n getDiverInfo() {\r\n this.isLoadingService.add();\r\n this.driver\r\n .get(this.driverId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n const res = data as DriverResponse;\r\n if (res.status === true) {\r\n this.driverInfo = new StoreDriver().deserialize(res.data);\r\n\r\n this.isLoadingService.remove();\r\n } else {\r\n this.alert.danger(res.message);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n this.alert.danger(err.error.message);\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n createDocumentForm() {\r\n this.docForm = this.fb.group({\r\n fileUpload: [\"\", Validators.required],\r\n expiryDate: [\"\"],\r\n docMgmtId: [\"\"],\r\n docId: [0],\r\n driverId: [0],\r\n });\r\n }\r\n\r\n fileProgress(fileInput: any) {\r\n this.fileData = fileInput.target.files[0] as File;\r\n this.preview();\r\n }\r\n\r\n preview() {\r\n // Show preview\r\n const mimeType = this.fileData.type;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(this.fileData);\r\n reader.onload = (_event) => {\r\n this.previewUrl = reader.result;\r\n this.fileUplaodName = this.fileData.name;\r\n };\r\n }\r\n\r\n get f() {\r\n return this.docForm.controls;\r\n }\r\n\r\n showModal(driverDocument: StoreDriverDocument): void {\r\n this.isModalShown = true;\r\n this.selectedDoc = driverDocument;\r\n this.docForm.get(\"docMgmtId\").setValue(this.selectedDoc.docMgmtId);\r\n this.docForm.get(\"docId\").setValue(this.selectedDoc.id);\r\n this.docForm.get(\"driverId\").setValue(this.selectedDoc.driverId);\r\n if (this.selectedDoc.isExpiryDateRequired) {\r\n this.docForm.get(\"expiryDate\").setValidators([Validators.required]);\r\n }\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n onHidden(): void {\r\n this.isModalShown = false;\r\n this.previewUrl = null;\r\n this.fileUplaodName = null;\r\n this.selectedDoc = null;\r\n this.docForm.get(\"expiryDate\").setValidators(null);\r\n this.docForm.reset();\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.docForm.invalid) {\r\n return;\r\n }\r\n\r\n const expiredDate = this.datePipe.transform(\r\n this.docForm.value.expiryDate,\r\n this.dateFormat\r\n );\r\n\r\n const formData = new FormData();\r\n // formData.append('Id', docId);\r\n formData.append(\"DocumentTypeId\", this.docForm.value.docMgmtId);\r\n formData.append(\"DocumentExpiryDate\", expiredDate);\r\n formData.append(\"Document\", this.fileData);\r\n\r\n this.isLoadingService.add();\r\n this.driver.updateDocument(this.docForm.value.driverId, formData).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n this.hideModal();\r\n this.getDiverInfo();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error.Message !== \"undefined\") {\r\n this.alert.danger(err.error.Message);\r\n } else if (typeof err.error !== \"undefined\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface DriverResponse {\r\n status: boolean;\r\n message: string;\r\n data: StoreDriver;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\n\r\nimport { ListsComponent } from './lists/lists.component';\r\n// import { AddComponent } from './add/add.component';\r\n// import { EditComponent } from './edit/edit.component';\r\nimport { ActionsComponent } from './actions/actions.component';\r\nimport { DocumentsComponent } from './documents/documents.component';\r\n\r\nconst STORE_ENDPOINT = `${constEnv.storeEndPoint}/driver`;\r\n\r\nconst routes: Routes = [\r\n\r\n {\r\n path: `${STORE_ENDPOINT}`,\r\n children: [\r\n { path: 'lists' , component: ListsComponent },\r\n {\r\n path: ':id/documents', pathMatch: 'full', component: DocumentsComponent\r\n },\r\n {\r\n path: ':action',\r\n children: [\r\n {path: ':id', component: ActionsComponent},\r\n {path: '', component: ActionsComponent}\r\n ]\r\n },\r\n {path: '', redirectTo: `lists`, pathMatch: 'full' },\r\n ],\r\n canActivate: [AuthGuard]\r\n },\r\n\r\n// {\r\n// path: `${STORE_ENDPOINT}` ,\r\n// children: [``\r\n// { path: 'lists' , component: ListsComponent },\r\n// { path: 'add' , component: ActionsComponent },\r\n// {\r\n// path: 'edit',\r\n// children: [\r\n// { path: ':id' , component: ActionsComponent },\r\n// { path: '' , component: ActionsComponent },\r\n// ]\r\n// },\r\n// {\r\n// path: ':id',\r\n// children: [\r\n// { path: 'documents' , component: DocumentsComponent },\r\n// { path: '' , component: DocumentsComponent },\r\n// ]\r\n// },\r\n// { path: '' , redirectTo: `dashboard`, pathMatch: 'full' },\r\n// ],\r\n// canActivate: [AuthGuard]\r\n// },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class DriversRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { DriversRoutingModule } from \"./drivers-routing.module\";\r\n\r\nimport { AlertModule } from \"@full-fledged/alerts\";\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { DataTablesModule } from \"angular-datatables\";\r\nimport { TemplateDefaultModule } from \"../../shared/template-default/template-default.module\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\n\r\nimport { Ng2TelInputModule } from \"ng2-tel-input\";\r\nimport { NgxIntlTelInputModule } from \"ngx-intl-tel-input\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\nimport { AgmCoreModule } from \"@agm/core\";\r\n\r\nimport { ListsComponent } from \"./lists/lists.component\";\r\nimport { DocumentsComponent } from \"./documents/documents.component\";\r\nimport { ActionsComponent } from \"./actions/actions.component\";\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\n@NgModule({\r\n declarations: [ListsComponent, DocumentsComponent, ActionsComponent],\r\n imports: [\r\n CommonModule,\r\n AlertModule.forRoot({\r\n maxMessages: 1,\r\n timeout: 2500,\r\n positionX: \"right\",\r\n positionY: \"top\",\r\n }),\r\n ComponentModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TranslateModule.forRoot(),\r\n ModalModule.forRoot(),\r\n MaterialModule,\r\n TemplateDefaultModule,\r\n DataTablesModule,\r\n DriversRoutingModule,\r\n Ng2TelInputModule,\r\n NgxIntlTelInputModule,\r\n NgSelectModule,\r\n // AgmCoreModule.forRoot({\r\n // apiKey: constEnv.googleMapAPIKey,\r\n // libraries: [\"places\"],\r\n // }),\r\n ComponentModule,\r\n ],\r\n})\r\nexport class DriversModule {}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { first, filter } from \"rxjs/operators\";\r\nimport { DriverService } from \"common/services/store/driver.service\";\r\nimport { StoreDriver } from \"common/_models/store/storeDriver\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ConfirmDialogComponent } from \"common/_components/confirm-dialog/confirm-dialog.component\";\r\n\r\n@Component({\r\n selector: \"app-lists\",\r\n templateUrl: \"./lists.component.html\",\r\n styleUrls: [\"./lists.component.css\"],\r\n})\r\nexport class ListsComponent implements OnInit {\r\n config = constEnv;\r\n\r\n lists: StoreDriver[];\r\n hasLists = false;\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private driver: DriverService,\r\n private dialog: MatDialog\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Drivers\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.listDrivers();\r\n }\r\n\r\n listDrivers() {\r\n this.isLoadingService.add();\r\n this.driver\r\n .getAll()\r\n .pipe()\r\n .subscribe(\r\n (data) => {\r\n const res = data as DriverListResponse;\r\n if (res.status === true) {\r\n this.lists = res.data.map((list) =>\r\n new StoreDriver().deserialize(list)\r\n );\r\n this.hasLists = res.data.length > 0 ? true : false;\r\n } else {\r\n this.alert.danger(res.message);\r\n this.hasLists = false;\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n // this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n deleteDriver(driverId: number) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm\",\r\n message: \"DeleteConfirm\",\r\n },\r\n });\r\n\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n this.isLoadingService.add();\r\n this.driver\r\n .delete(driverId)\r\n .pipe()\r\n .subscribe(\r\n (data) => {\r\n const res = data as DriverListResponse;\r\n if (res.status === true) {\r\n this.alert.success(res.message);\r\n this.listDrivers();\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error.Message !== \"undefined\") {\r\n this.alert.danger(err.error.Message);\r\n } else if (typeof err.error !== \"undefined\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n verifyDriverProfile(driverId) {\r\n this.isLoadingService.add();\r\n this.driver\r\n .verifyDriverProfile(driverId)\r\n .pipe()\r\n .subscribe(\r\n (data) => {\r\n const res = data as DriverListResponse;\r\n if (res.status === true) {\r\n this.alert.success(res.message);\r\n this.listDrivers();\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error.Message !== \"undefined\") {\r\n this.alert.danger(err.error.Message);\r\n } else if (typeof err.error !== \"undefined\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n\r\nexport interface DriverListResponse {\r\n status: boolean;\r\n message: string;\r\n data: StoreDriver[];\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\nimport { constEnv } from 'common/constants.env';\r\nimport { EarningsComponent } from './earnings/earnings.component';\r\n\r\nconst STORE_ENDPOINT = `${constEnv.storeEndPoint}`;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${STORE_ENDPOINT}/earnings`, component: EarningsComponent, canActivate: [AuthGuard]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {})],\r\n exports: [RouterModule]\r\n})\r\nexport class EarningsRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { EarningsRoutingModule } from \"./earnings-routing.module\";\r\n\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\n\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\n\r\nimport { DataTablesModule } from \"angular-datatables\";\r\nimport { EarningsComponent } from \"./earnings/earnings.component\";\r\nimport { TemplateDefaultModule } from \"../../shared/template-default/template-default.module\";\r\nimport { MyDirectiveModule } from \"common/directives/my-directive.module\";\r\n\r\nimport { PaginationModule } from \"ngx-bootstrap/pagination\";\r\n\r\nimport { BsDatepickerModule } from \"ngx-bootstrap/datepicker\";\r\nimport { PipeModule } from \"common/_pipe/pipe.module\";\r\n\r\n@NgModule({\r\n declarations: [EarningsComponent],\r\n imports: [\r\n CommonModule,\r\n EarningsRoutingModule,\r\n ReactiveFormsModule,\r\n ComponentModule,\r\n TranslateModule,\r\n DataTablesModule,\r\n TemplateDefaultModule,\r\n MaterialModule,\r\n MyDirectiveModule,\r\n ModalModule,\r\n PaginationModule.forRoot(),\r\n BsDatepickerModule.forRoot(),\r\n PipeModule,\r\n ],\r\n})\r\nexport class EarningsModule {}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\n\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n Validators,\r\n FormControl,\r\n} from \"@angular/forms\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { PageChangedEvent } from \"ngx-bootstrap/pagination\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { OrderService } from \"common/services/store/order.service\";\r\nimport { Earnings } from \"common/_models/store/earnings\";\r\nimport { Paging } from \"../../products/list/list.component\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\n\r\n@Component({\r\n selector: \"app-earnings\",\r\n templateUrl: \"./earnings.component.html\",\r\n styleUrls: [\"./earnings.component.css\"],\r\n})\r\nexport class EarningsComponent implements OnInit {\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n // dtOptionsCancelOrder: DataTables.Settings = {};\r\n dtOptionsCancelOrder: Config = {};\r\n\r\n hasOrders = false;\r\n\r\n @ViewChild(\"autoShownModal\", { static: false })\r\n autoShownModal: ModalDirective;\r\n isModalShown = false;\r\n\r\n totalEarnings = \"0.00\";\r\n totalOrders = 0;\r\n totalWithdrawals = \"0.00\";\r\n totalAvailableFunds = \"0.00\";\r\n totalAvailableFundsWOCC = 0;\r\n\r\n totalCancelOrders = 0;\r\n\r\n lists: Earnings[] = [];\r\n\r\n searchForm: FormGroup;\r\n withdrawForm: FormGroup;\r\n maxDate: Date;\r\n\r\n fromDate: Date;\r\n toDate: Date;\r\n bsRangeValue: Date[];\r\n\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n dateFormat = \"yyyy-MM-dd\";\r\n\r\n totalCompletedEarnings = 0;\r\n totalCancelOrdersCount = 0;\r\n\r\n config = constEnv;\r\n public defaultCurrency = \"\";\r\n\r\n constructor(\r\n private ls: LoaderService,\r\n private titleService: TitleService,\r\n private fb: FormBuilder,\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private order: OrderService,\r\n private datePipe: DatePipe,\r\n private gs: GeneralService\r\n ) {\r\n this.maxDate = new Date();\r\n this.maxDate.setDate(this.maxDate.getDate());\r\n }\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"STORE_Earnings\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.defaultCurrency = this.gs.getDefaultCurrency();\r\n\r\n this.toDate = new Date();\r\n this.fromDate = new Date();\r\n this.fromDate.setDate(this.fromDate.getDate() - 7);\r\n\r\n this.bsRangeValue = [this.fromDate, this.toDate];\r\n\r\n // const paging = {page: 0, itemsPerPage: 10};\r\n // this.getEarnings( paging );\r\n this.makeSearchFrom();\r\n this.createDataTable();\r\n this.makeWithdrawForm();\r\n }\r\n\r\n makeSearchFrom() {\r\n this.searchForm = this.fb.group({\r\n orderFilterDates: [],\r\n });\r\n\r\n // this.searchForm.get('orderFilterDates').setValue( this.bsRangeValue );\r\n }\r\n\r\n makeWithdrawForm() {\r\n this.withdrawForm = this.fb.group(\r\n {\r\n // withdrawAmount: [null, Validators.required]\r\n withdrawAmount: new FormControl(null, [\r\n Validators.required,\r\n // Validators.pattern(\"^[1-9]*$\"),\r\n ]),\r\n },\r\n { validators: [CustomValidator.OnlyZeroNotAllowed(\"withdrawAmount\")] }\r\n );\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: -1,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.hasOrders = true;\r\n\r\n const searchparams = this.searchForm.value;\r\n if (searchparams.filterText !== \"\") {\r\n dataTablesParameters.search.column = searchparams.filterBy;\r\n dataTablesParameters.search.value = searchparams.filterText;\r\n }\r\n\r\n dataTablesParameters.search.dateTimeForm = \"\";\r\n dataTablesParameters.search.dateTimeTo = \"\";\r\n if (searchparams.orderFilterDates !== null) {\r\n const oDates = searchparams.orderFilterDates;\r\n dataTablesParameters.search.dateTimeForm = this.datePipe.transform(\r\n oDates[0],\r\n this.dateFormat\r\n );\r\n dataTablesParameters.search.dateTimeTo = this.datePipe.transform(\r\n oDates[1],\r\n this.dateFormat\r\n );\r\n }\r\n let paging = { totalCount: 0, totalRowsAfterFiltering: 0 } as Paging;\r\n this.order\r\n .getOrdersEarnings(dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (resp) => {\r\n const data = resp as EarningListResponse;\r\n\r\n if (data.status === true) {\r\n if (data.data.length > 0) {\r\n this.lists = data.data.map((item) =>\r\n new Earnings().deserialize(item)\r\n );\r\n paging = JSON.parse(data.paging) as Paging;\r\n this.totalCompletedEarnings = paging.totalCount;\r\n this.hasOrders = true;\r\n }\r\n } else {\r\n this.lists = [];\r\n this.hasOrders = false;\r\n this.alert.danger(data.message);\r\n }\r\n\r\n this.totalEarnings = data.totalBalance;\r\n this.totalOrders = data.orderCount;\r\n this.totalWithdrawals = data.withdrawFunds;\r\n this.totalAvailableFunds = data.availableFunds;\r\n this.totalAvailableFundsWOCC = data.availableFundsWCC;\r\n this.withdrawForm\r\n .get(\"withdrawAmount\")\r\n .setValidators([Validators.max(data.availableFundsWCC)]);\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n\r\n // this.loader.hideLoader();\r\n },\r\n (err) => {\r\n // this.alert.danger(err.error.Message);\r\n // this.loader.hideLoader();\r\n }\r\n );\r\n\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n },\r\n };\r\n }\r\n\r\n get f() {\r\n return this.withdrawForm.controls;\r\n }\r\n\r\n getErrorWithdrawalAmount() {\r\n return this.withdrawForm.get(\"withdrawAmount\").hasError(\"required\")\r\n ? \"\"\r\n : this.withdrawForm.get(\"withdrawAmount\").hasError(\"max\")\r\n ? \"WithdrawAmountLess\"\r\n : // ? this.titleService.getTranslatedString(\"WithdrawAmountLess\")\r\n this.withdrawForm.get(\"withdrawAmount\").hasError(\"zeroError\")\r\n ? \"Withdwal amount should not be 0.\"\r\n : \"\";\r\n }\r\n\r\n showModal(): void {\r\n this.isModalShown = true;\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n onHidden(): void {\r\n this.isModalShown = false;\r\n this.withdrawForm.reset();\r\n }\r\n\r\n searchSubmit() {\r\n if (this.searchForm.invalid) {\r\n return;\r\n }\r\n\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) => dtInstance.draw());\r\n }\r\n\r\n withdrawSubmit() {\r\n if (this.withdrawForm.invalid) {\r\n return;\r\n }\r\n\r\n const formData = {\r\n amount: this.withdrawForm.value.withdrawAmount,\r\n };\r\n\r\n this.ls.showLoader();\r\n this.order\r\n .sendWithdrawRequest(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.hideModal();\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface EarningListResponse {\r\n totalBalance: string;\r\n orderCount: number;\r\n availableFunds: string;\r\n withdrawFunds: string;\r\n availableFundsWCC: number;\r\n status: boolean;\r\n message: string;\r\n data: Earnings[];\r\n paging: string;\r\n}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { FeedbackService } from \"common/services/store/feedback.service\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { NgxGalleryAnimation, NgxGalleryOptions } from \"ngx-gallery-9\";\r\nimport { PageChangedEvent } from \"ngx-bootstrap/pagination\";\r\n\r\n@Component({\r\n selector: \"app-feedback\",\r\n templateUrl: \"./feedback.component.html\",\r\n styleUrls: [\"./feedback.component.css\"],\r\n})\r\nexport class FeedbackComponent implements OnInit {\r\n config = constEnv;\r\n\r\n hasLists = false;\r\n lists: FeedbackList[] = [];\r\n counters: FeedbackCounter = null;\r\n feedbackProgress: FeedbackProgress[] = null;\r\n\r\n feedbackUrl = `${this.config.STORE_URL}/feedback`;\r\n feedbackType: number;\r\n\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n reviews: any[] = [];\r\n pagination: any;\r\n\r\n reviewImagesOptions: NgxGalleryOptions[];\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private feedback: FeedbackService,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"STORE_Feedbacks\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.reviewImagesOptions = [\r\n {\r\n width: \"100%\",\r\n height: \"70px\",\r\n thumbnailsColumns: 10,\r\n imageAnimation: NgxGalleryAnimation.Slide,\r\n image: false,\r\n thumbnailsRemainingCount: true,\r\n imageSize: \"content\",\r\n previewCloseOnClick: true,\r\n previewCloseOnEsc: true,\r\n },\r\n // max-width 800\r\n {\r\n breakpoint: 800,\r\n width: \"100%\",\r\n // height: '600px',\r\n thumbnailsColumns: 4,\r\n imagePercent: 80,\r\n thumbnailsPercent: 20,\r\n thumbnailsMargin: 20,\r\n thumbnailMargin: 20,\r\n },\r\n // max-width 400\r\n {\r\n breakpoint: 400,\r\n preview: false,\r\n },\r\n ];\r\n\r\n const type = this.route.snapshot.params.type;\r\n // this.setFeedbackType( (typeof type !== 'undefined') ? type : 3 );\r\n this.feedbackType = typeof type !== \"undefined\" ? type : 3;\r\n\r\n // if (this.feedbackType == 3) {\r\n // this.getCustomerFeedback();\r\n // this.getReviews();\r\n // } else {\r\n // this.createDataTable();\r\n // }\r\n\r\n this.route.params.subscribe(() => {\r\n if (this.feedbackType == 3) {\r\n this.getCustomerFeedback();\r\n this.getReviews();\r\n } else {\r\n this.createDataTable();\r\n }\r\n });\r\n }\r\n\r\n setFeedbackType(type: number) {\r\n this.feedbackType = type;\r\n // if (this.feedbackType != 3) {\r\n // // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n // this.datatableElement.dtInstance.then((dtInstance) => dtInstance.draw());\r\n // }\r\n\r\n this.router.navigateByUrl(`${this.feedbackUrl}/${this.feedbackType}`);\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: -1,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.hasLists = true;\r\n\r\n // const searchparams = this.searchForm.value;\r\n // if (searchparams.filterText !== '') {\r\n // dataTablesParameters.search.column = searchparams.filterBy;\r\n // dataTablesParameters.search.value = searchparams.filterText;\r\n // }\r\n\r\n // dataTablesParameters.search.dateTimeForm = '';\r\n // dataTablesParameters.search.dateTimeTo = '';\r\n // if (searchparams.orderFilterDates !== '') {\r\n // const oDates = searchparams.orderFilterDates;\r\n // dataTablesParameters.search.dateTimeForm = this.datePipe.transform( oDates[0], this.dateFormat );\r\n // dataTablesParameters.search.dateTimeTo = this.datePipe.transform( oDates[1], this.dateFormat );\r\n // }\r\n\r\n let paging: Paginate = null;\r\n\r\n this.feedback\r\n .getFeedbacks(this.feedbackType, dataTablesParameters)\r\n .subscribe(\r\n (data) => {\r\n const res = data as FeedbackListResponse;\r\n\r\n if (res.status === true) {\r\n const feedbackData = res.data as FeedbackData;\r\n\r\n this.lists = feedbackData.Reviews;\r\n this.counters = feedbackData.Counter;\r\n\r\n this.feedbackProgress = [\r\n {\r\n label: \"5\",\r\n bg: \"success\",\r\n review: Math.round(\r\n (this.counters.fiveReviewsCount /\r\n this.counters.totalReviewsCount) *\r\n 100\r\n ),\r\n },\r\n {\r\n label: \"4\",\r\n bg: \"info\",\r\n review: Math.round(\r\n (this.counters.fourReviewsCount /\r\n this.counters.totalReviewsCount) *\r\n 100\r\n ),\r\n },\r\n {\r\n label: \"3\",\r\n bg: \"warning\",\r\n review: Math.round(\r\n (this.counters.threeReviewsCount /\r\n this.counters.totalReviewsCount) *\r\n 100\r\n ),\r\n },\r\n {\r\n label: \"2\",\r\n bg: \"teal\",\r\n review: Math.round(\r\n (this.counters.twoReviewsCount /\r\n this.counters.totalReviewsCount) *\r\n 100\r\n ),\r\n },\r\n {\r\n label: \"1\",\r\n bg: \"danger\",\r\n review: Math.round(\r\n (this.counters.oneReviewsCount /\r\n this.counters.totalReviewsCount) *\r\n 100\r\n ),\r\n },\r\n ] as FeedbackProgress[];\r\n\r\n paging = JSON.parse(res.paging) as Paginate;\r\n } else {\r\n paging = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n } as Paginate;\r\n\r\n this.alert.danger(data[\"message\"]);\r\n this.lists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n\r\n // this.loader.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(msg);\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n this.lists = [];\r\n }\r\n // this.loader.hideLoader();\r\n }\r\n );\r\n },\r\n };\r\n }\r\n\r\n getCustomerFeedback() {\r\n const dataTablesParameters = {\r\n start: 0,\r\n length: 10,\r\n };\r\n this.feedback\r\n .getFeedbacks(this.feedbackType, dataTablesParameters)\r\n .subscribe(\r\n (data) => {\r\n const res = data as FeedbackListResponse;\r\n\r\n if (res.status === true) {\r\n const feedbackData = res.data as FeedbackData;\r\n\r\n //this.lists = feedbackData.Reviews;\r\n this.counters = feedbackData.Counter;\r\n\r\n this.feedbackProgress = [\r\n {\r\n label: \"5\",\r\n bg: \"success\",\r\n review: Math.round(\r\n (this.counters.fiveReviewsCount /\r\n this.counters.totalReviewsCount) *\r\n 100\r\n ),\r\n },\r\n {\r\n label: \"4\",\r\n bg: \"info\",\r\n review: Math.round(\r\n (this.counters.fourReviewsCount /\r\n this.counters.totalReviewsCount) *\r\n 100\r\n ),\r\n },\r\n {\r\n label: \"3\",\r\n bg: \"warning\",\r\n review: Math.round(\r\n (this.counters.threeReviewsCount /\r\n this.counters.totalReviewsCount) *\r\n 100\r\n ),\r\n },\r\n {\r\n label: \"2\",\r\n bg: \"teal\",\r\n review: Math.round(\r\n (this.counters.twoReviewsCount /\r\n this.counters.totalReviewsCount) *\r\n 100\r\n ),\r\n },\r\n {\r\n label: \"1\",\r\n bg: \"danger\",\r\n review: Math.round(\r\n (this.counters.oneReviewsCount /\r\n this.counters.totalReviewsCount) *\r\n 100\r\n ),\r\n },\r\n ] as FeedbackProgress[];\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.lists = [];\r\n }\r\n // this.loader.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(msg);\r\n this.lists = [];\r\n }\r\n // this.loader.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n getReviews(pageNo: number = 0, pageSize: number = 10) {\r\n this.isLoadingService.add();\r\n this.feedback.getStoreReviews(pageNo, pageSize).subscribe(\r\n (data) => {\r\n const res = data;\r\n\r\n if (res[\"status\"] === true) {\r\n this.reviews = res[\"data\"];\r\n\r\n if (this.reviews.length > 0) {\r\n this.reviews.map((item, index) => {\r\n if (item.reviewImages.length > 0) {\r\n item.reviewImages.map((image) => {\r\n if (\r\n typeof this.reviews[index].review_images === \"undefined\"\r\n ) {\r\n this.reviews[index][\"review_images\"] = [];\r\n }\r\n this.reviews[index][\"review_images\"].push({\r\n small: image.images,\r\n medium: image.images,\r\n big: image.images,\r\n });\r\n });\r\n } else {\r\n this.reviews[index][\"review_images\"] = [];\r\n }\r\n });\r\n this.pagination = JSON.parse(res[\"paging\"]);\r\n } else {\r\n this.reviews = [];\r\n }\r\n this.isLoadingService.remove();\r\n } else {\r\n // this.alert.danger(res.message);\r\n this.isLoadingService.remove();\r\n this.reviews = [];\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n }\r\n this.reviews = [];\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n pageChange(paging: PageChangedEvent) {\r\n paging.page = paging.page > 0 ? paging.page - 1 : 0;\r\n paging.itemsPerPage = paging.itemsPerPage ? paging.itemsPerPage : 10;\r\n\r\n this.getReviews(paging.page, paging.itemsPerPage);\r\n }\r\n}\r\n\r\ninterface FeedbackListResponse {\r\n status: boolean;\r\n message: string;\r\n paging: string;\r\n data: FeedbackData;\r\n}\r\n\r\ninterface Paginate {\r\n totalCount: number;\r\n totalRowsAfterFiltering: number;\r\n pageSize: number;\r\n currentPage: number;\r\n totalPages: number;\r\n previousPage: string;\r\n nextPage: string;\r\n}\r\n\r\ninterface FeedbackData {\r\n Counter: FeedbackCounter;\r\n Reviews: FeedbackList[];\r\n}\r\n\r\ninterface FeedbackCounter {\r\n fiveReviewsCount: number;\r\n fourReviewsCount: number;\r\n oneReviewsCount: number;\r\n threeReviewsCount: number;\r\n twoReviewsCount: number;\r\n totalReviewsCount: number;\r\n avgReviewsCount: number;\r\n}\r\n\r\ninterface FeedbackList {\r\n date: string;\r\n feedbackId: number;\r\n id: number;\r\n imageUrl: string;\r\n name: number;\r\n rate: number;\r\n remarks: string;\r\n type: string;\r\n orderBaseDetailId: number;\r\n productName: string;\r\n}\r\n\r\ninterface FeedbackProgress {\r\n label: string;\r\n bg: string;\r\n review: number;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ElementRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { FormGroup, Validators, FormBuilder } from \"@angular/forms\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { HelpSupportService } from \"common/services/store/helpSupport.service\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"app-add\",\r\n templateUrl: \"./add.component.html\",\r\n styleUrls: [\"./add.component.css\"],\r\n})\r\nexport class AddComponent implements OnInit {\r\n addForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n errorMessage: string = \"\";\r\n cs = constEnv;\r\n\r\n @ViewChild(\"profileFileInput\", { static: true }) profileFileInput: ElementRef;\r\n attachmentFileData: File = null;\r\n\r\n listUrl = `${this.cs.STORE_URL}/support`;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private formBuilder: FormBuilder,\r\n private isLoadingService: IsLoadingService,\r\n private router: Router,\r\n private alert: AlertService,\r\n private titleService: TitleService,\r\n private hs: HelpSupportService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.document.body.classList.add(\"add_support-ticket\");\r\n\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.addForm = this.formBuilder.group({\r\n // Email: ['', Validators.required],\r\n // PhoneNumber: ['', Validators.required],\r\n Subject: [\"\", Validators.required],\r\n Description: [\"\", Validators.required],\r\n Attachment: [\"\"],\r\n });\r\n }\r\n\r\n getErrorEmail() {\r\n return this.addForm.get(\"Email\").hasError(\"required\")\r\n ? \"\"\r\n : this.addForm.get(\"Email\").hasError(\"pattern\")\r\n ? \"EmailInValid\"\r\n : // ? this.titleService.getTranslatedString(\"EmailInValid\")\r\n \"\";\r\n }\r\n\r\n FileProgress(profileFileInput: any) {\r\n const allowedFileTypes = [\"image/png\", \"image/jpeg\", \"image/jpg\"];\r\n const maxSizeMB = 5;\r\n\r\n const selectedFile = profileFileInput.target.files[0];\r\n this.errorMessage = \"\";\r\n if (selectedFile && allowedFileTypes.includes(selectedFile.type)) {\r\n if (selectedFile.size <= maxSizeMB * 1024 * 1024) {\r\n this.attachmentFileData = selectedFile as File;\r\n this.errorMessage = \"\";\r\n } else {\r\n this.errorMessage = \"File size exceeds the maximum limit of 5 MB.\";\r\n }\r\n } else {\r\n this.errorMessage =\r\n \"Invalid file type. Please select a PNG, JPG, or JPEG image.\";\r\n }\r\n }\r\n\r\n isFormValid(): boolean {\r\n if (this.addForm.invalid) {\r\n return false;\r\n }\r\n\r\n if (this.errorMessage.trim() === \"\") {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n onSubmit() {\r\n if (this.addForm.invalid) {\r\n return;\r\n }\r\n\r\n if (this.errorMessage) {\r\n return;\r\n }\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n\r\n const formData = new FormData();\r\n formData.append(\"Email\", this.addForm.value.Email);\r\n formData.append(\"PhoneNumber\", this.addForm.value.PhoneNumber);\r\n formData.append(\"Subject\", this.addForm.value.Subject);\r\n formData.append(\"Description\", this.addForm.value.Description);\r\n formData.append(\"Attachment\", this.attachmentFileData);\r\n\r\n this.hs.add(formData).subscribe(\r\n (data) => {\r\n this.alert.success(data[\"message\"]);\r\n this.submitted = false;\r\n this.addForm.reset();\r\n this.loading = false;\r\n this.router.navigate([`${this.listUrl}`]);\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.message !== \"undefined\" ? err.error.message : \"\";\r\n if (msg) {\r\n this.alert.danger(msg);\r\n }\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\n\r\nimport { ListComponent } from './list/list.component';\r\nimport { AddComponent } from './add/add.component';\r\nconst _ENDPOINT = `${constEnv.storeEndPoint}/support`;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${_ENDPOINT}`,\r\n children: [\r\n { path: 'add', component: AddComponent },\r\n // {\r\n // path: 'detail',\r\n // children: [\r\n // { path: ':orderId', component: DetailComponent },\r\n // { path: '', redirectTo: `${ORDER_ENDPOINT}`, pathMatch: 'full'}\r\n // ]\r\n // },\r\n { path: '', component: ListComponent }\r\n ],\r\n canActivate: [AuthGuard]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class HelpSupportRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { RouterModule } from '@angular/router';\r\nimport { MaterialModule } from 'common/modules/material.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\nimport { ComponentModule } from 'common/_components/components.module';\r\nimport { TemplateDefaultModule } from '../../shared/template-default/template-default.module';\r\nimport { DataTablesModule } from 'angular-datatables';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { Ng2TelInputModule } from 'ng2-tel-input';\r\nimport { NgxIntlTelInputModule } from 'ngx-intl-tel-input';\r\nimport { MyDirectiveModule } from 'common/directives/my-directive.module';\r\n\r\nimport { HelpSupportRoutingModule } from './help-support-routing.module';\r\nimport { ListComponent } from './list/list.component';\r\nimport { AddComponent } from './add/add.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [ListComponent, AddComponent],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n TranslateModule.forRoot(),\r\n ReactiveFormsModule,\r\n FormsModule,\r\n ComponentModule,\r\n TemplateDefaultModule,\r\n DataTablesModule,\r\n MaterialModule,\r\n Ng2TelInputModule,\r\n NgxIntlTelInputModule,\r\n MyDirectiveModule,\r\n BsDatepickerModule.forRoot(),\r\n HelpSupportRoutingModule\r\n ]\r\n})\r\nexport class HelpSupportModule { }\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { first, filter } from \"rxjs/operators\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\n\r\nimport { HelpSupportService } from \"common/services/store/helpSupport.service\";\r\nimport { HelpSupport } from \"common/_models/store/helpSupport\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\n\r\n@Component({\r\n selector: \"app-list\",\r\n templateUrl: \"./list.component.html\",\r\n styleUrls: [\"./list.component.css\"],\r\n})\r\nexport class ListComponent implements OnInit {\r\n config = constEnv;\r\n\r\n hasLists = false;\r\n lists: HelpSupport[] = [];\r\n\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private hs: HelpSupportService,\r\n private isLoadingService: IsLoadingService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"STORE_Help_Support\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.createDataTable();\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: -1,\r\n language: {\r\n emptyTable: \"No data available\",\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.hasLists = true;\r\n\r\n // const searchparams = this.searchForm.value;\r\n // if (searchparams.filterText !== '') {\r\n // dataTablesParameters.search.column = searchparams.filterBy;\r\n // dataTablesParameters.search.value = searchparams.filterText;\r\n // }\r\n\r\n // dataTablesParameters.search.dateTimeForm = '';\r\n // dataTablesParameters.search.dateTimeTo = '';\r\n // if (searchparams.orderFilterDates !== '') {\r\n // const oDates = searchparams.orderFilterDates;\r\n // dataTablesParameters.search.dateTimeForm = this.datePipe.transform( oDates[0], this.dateFormat );\r\n // dataTablesParameters.search.dateTimeTo = this.datePipe.transform( oDates[1], this.dateFormat );\r\n // }\r\n\r\n let paging: Paginate = null;\r\n\r\n this.hs\r\n .getAll(dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n const res = data as SupportListResponse;\r\n\r\n if (res.status === true) {\r\n this.lists = res.data.map((item) =>\r\n new HelpSupport().deserialize(item)\r\n );\r\n\r\n paging = JSON.parse(res.paging) as Paginate;\r\n } else {\r\n paging = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n } as Paginate;\r\n\r\n this.alert.danger(data[\"message\"]);\r\n this.lists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n\r\n // this.loader.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(msg);\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n this.lists = [];\r\n }\r\n // this.loader.hideLoader();\r\n }\r\n );\r\n },\r\n };\r\n }\r\n}\r\n\r\ninterface SupportListResponse {\r\n status: boolean;\r\n message: string;\r\n paging: string;\r\n data: HelpSupport[];\r\n}\r\n\r\ninterface Paginate {\r\n totalCount: number;\r\n totalRowsAfterFiltering: number;\r\n pageSize: number;\r\n currentPage: number;\r\n totalPages: number;\r\n previousPage: string;\r\n nextPage: string;\r\n}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { first, filter } from \"rxjs/operators\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { NotificationService } from \"common/services/store/notification.service\";\r\nimport { Notification } from \"common/_models/store/notification\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"app-list\",\r\n templateUrl: \"./list.component.html\",\r\n styleUrls: [\"./list.component.css\"],\r\n})\r\nexport class ListComponent implements OnInit {\r\n config = constEnv;\r\n\r\n hasLists = false;\r\n lists: Notification[] = [];\r\n\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private datePipe: DatePipe,\r\n private notification: NotificationService,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"STORE_Notifications\");\r\n\r\n this.createDataTable();\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: -1,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.hasLists = true;\r\n\r\n // const searchparams = this.searchForm.value;\r\n // if (searchparams.filterText !== '') {\r\n // dataTablesParameters.search.column = searchparams.filterBy;\r\n // dataTablesParameters.search.value = searchparams.filterText;\r\n // }\r\n\r\n // dataTablesParameters.search.dateTimeForm = '';\r\n // dataTablesParameters.search.dateTimeTo = '';\r\n // if (searchparams.orderFilterDates !== '') {\r\n // const oDates = searchparams.orderFilterDates;\r\n // dataTablesParameters.search.dateTimeForm = this.datePipe.transform( oDates[0], this.dateFormat );\r\n // dataTablesParameters.search.dateTimeTo = this.datePipe.transform( oDates[1], this.dateFormat );\r\n // }\r\n\r\n let paging: Paginate = null;\r\n\r\n this.notification\r\n .getNotifications(dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n const res = data as NotificationListResponse;\r\n\r\n if (res.status === true) {\r\n this.lists = res.data.map((item) =>\r\n new Notification().deserialize(item)\r\n );\r\n\r\n paging = JSON.parse(res.paging) as Paginate;\r\n } else {\r\n paging = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n } as Paginate;\r\n\r\n this.alert.danger(data[\"message\"]);\r\n this.lists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n\r\n // this.loader.hideLoader();\r\n },\r\n (err) => {\r\n // this.alert.danger(err.error.Message);\r\n // this.loader.hideLoader();\r\n }\r\n );\r\n },\r\n };\r\n }\r\n\r\n redirectToPage(item: Notification) {\r\n let redirectTo = \"\";\r\n if (item.notificationType) {\r\n switch (item.notificationType) {\r\n case \"Order\":\r\n redirectTo = `order/detail/${item.refId}`;\r\n break;\r\n\r\n case \"document\":\r\n redirectTo = ``;\r\n break;\r\n\r\n case \"Return Request\":\r\n redirectTo = `return-request/${item.refId}`;\r\n break;\r\n\r\n case \"Cancel Request\":\r\n redirectTo = `cancel-request/${item.refId}`;\r\n break;\r\n\r\n case \"Ticket\":\r\n redirectTo = `support`;\r\n break;\r\n\r\n default:\r\n redirectTo = ``;\r\n break;\r\n }\r\n }\r\n if (redirectTo) {\r\n this.router.navigateByUrl(`${this.config.STORE_URL}/${redirectTo}`);\r\n }\r\n return false;\r\n }\r\n}\r\n\r\ninterface NotificationListResponse {\r\n status: boolean;\r\n message: string;\r\n paging: string;\r\n data: Notification[];\r\n}\r\n\r\ninterface Paginate {\r\n totalCount: number;\r\n totalRowsAfterFiltering: number;\r\n pageSize: number;\r\n currentPage: number;\r\n totalPages: number;\r\n previousPage: string;\r\n nextPage: string;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\n\r\nimport { ListComponent } from './list/list.component';\r\nconst _ENDPOINT = `${constEnv.storeEndPoint}/notifications`;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${_ENDPOINT}`,\r\n children: [\r\n { path: '', component: ListComponent }\r\n ],\r\n canActivate: [AuthGuard]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class NotificationRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { RouterModule } from '@angular/router';\r\nimport { MaterialModule } from 'common/modules/material.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\nimport { ComponentModule } from 'common/_components/components.module';\r\nimport { TemplateDefaultModule } from '../../shared/template-default/template-default.module';\r\nimport { DataTablesModule } from 'angular-datatables';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\n\r\nimport { NotificationRoutingModule } from './notification-routing.module';\r\nimport { ListComponent } from './list/list.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [ListComponent],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n TranslateModule.forRoot(),\r\n ReactiveFormsModule,\r\n FormsModule,\r\n ComponentModule,\r\n TemplateDefaultModule,\r\n DataTablesModule,\r\n MaterialModule,\r\n BsDatepickerModule.forRoot(),\r\n NotificationRoutingModule\r\n ]\r\n})\r\nexport class NotificationModule { }\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormBuilder } from \"@angular/forms\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { OfferService } from \"common/services/store/offer.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { Offers } from \"common/_models/store/offers\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\n\r\n@Component({\r\n selector: \"app-lists\",\r\n templateUrl: \"./lists.component.html\",\r\n styleUrls: [\"./lists.component.css\"],\r\n})\r\nexport class ListsComponent implements OnInit {\r\n lists: Offers[] = [];\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private fb: FormBuilder,\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private offers: OfferService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Offers\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.loadOffers();\r\n }\r\n\r\n loadOffers() {\r\n this.isLoadingService.add();\r\n\r\n this.offers\r\n .getOffers()\r\n .pipe()\r\n .subscribe(\r\n (res) => {\r\n const data = res as OfferListsResponse;\r\n if (data.status) {\r\n this.lists = data.data.map((item) =>\r\n new Offers().deserialize(item)\r\n );\r\n } else {\r\n this.alert.danger(data.message);\r\n }\r\n\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface OfferListsResponse {\r\n status: boolean;\r\n message: string;\r\n data: Offers[];\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\n\r\nimport { ListsComponent } from './lists/lists.component';\r\n\r\nconst STORE_ENDPOINT = constEnv.storeEndPoint;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${STORE_ENDPOINT}/offers`,\r\n children: [\r\n { path: '', component: ListsComponent }\r\n ],\r\n canActivate: [AuthGuard]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class OffersRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ComponentModule } from 'common/_components/components.module';\r\nimport { MaterialModule } from 'common/modules/material.module';\r\nimport { TemplateDefaultModule } from '../../shared/template-default/template-default.module';\r\nimport { DataTablesModule } from 'angular-datatables';\r\n\r\n\r\nimport { OffersRoutingModule } from './offers-routing.module';\r\nimport { ListsComponent } from './lists/lists.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [ListsComponent],\r\n imports: [\r\n CommonModule,\r\n OffersRoutingModule,\r\n ReactiveFormsModule,\r\n TranslateModule,\r\n ComponentModule,\r\n MaterialModule,\r\n TemplateDefaultModule,\r\n DataTablesModule\r\n ]\r\n})\r\nexport class OffersModule { }\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\n\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { OrderService } from \"common/services/store/order.service\";\r\nimport { CalculationDetail, Order } from \"common/_models/store/order\";\r\nimport { MatSelectionList } from \"@angular/material/list\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\n\r\n@Component({\r\n selector: \"app-detail\",\r\n templateUrl: \"./detail.component.html\",\r\n styleUrls: [\"./detail.component.css\"],\r\n})\r\nexport class DetailComponent implements OnInit {\r\n orderId = 0;\r\n listUrl: string;\r\n orderInfo: Order = null;\r\n\r\n config = constEnv;\r\n\r\n currencyCode;\r\n\r\n @ViewChild(\"cancelFormModal\", { static: false })\r\n cancelFormModal: ModalDirective;\r\n @ViewChild(\"allCancelItemSelected\", { static: false })\r\n public allCancelItemSelected: MatSelectionList;\r\n allCancelItemComplete: boolean = false;\r\n cancelOrderCurrencyCode: string = \"\";\r\n cancelRequestForm: FormGroup;\r\n isOpenCancelRequestModal: boolean = false;\r\n cancelReasonOptions: any = [];\r\n\r\n orderCalculationDetail: CalculationDetail[] = [];\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alert: AlertService,\r\n private ls: LoaderService,\r\n private os: OrderService,\r\n private fb: FormBuilder\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"OrderDetails\");\r\n\r\n this.orderId =\r\n this.route.snapshot.params.orderId > 0\r\n ? this.route.snapshot.params.orderId\r\n : 0;\r\n\r\n this.listUrl = `${this.config.STORE_URL}/orders`;\r\n\r\n if (this.orderId <= 0) {\r\n this.router.navigate([this.listUrl]);\r\n return false;\r\n }\r\n\r\n this.getOrderDetail();\r\n }\r\n\r\n getOrderDetail() {\r\n this.ls.showLoader();\r\n this.os\r\n .getDetail(this.orderId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n const res = data as OrderDetailResponse;\r\n if (res.status === true) {\r\n this.orderInfo = new Order().deserialize(res.data);\r\n // console.log(this.orderInfo);\r\n this.currencyCode =\r\n this.orderInfo.myCartCalulationDto.currencyCode || \"\";\r\n\r\n this.orderCalculationDetail = this.orderInfo.calculationDetails_New;\r\n\r\n this.ls.hideLoader();\r\n } else {\r\n this.alert.danger(res.message);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n get getCancelableItems(): any {\r\n const validCancelStatus = [4, 5, 9, 11];\r\n const cancelableItems = [];\r\n if (this.orderInfo) {\r\n this.orderInfo.patchDtos.map((patch) => {\r\n patch.itemList.map((item) => {\r\n if (validCancelStatus.indexOf(item.statusId) !== -1) {\r\n cancelableItems.push(item);\r\n }\r\n });\r\n });\r\n }\r\n return cancelableItems;\r\n }\r\n\r\n getCancelReasonOption() {\r\n this.cancelReasonOptions = [];\r\n this.os\r\n .getCancelReasonOptions()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.cancelReasonOptions = data[\"data\"];\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n }\r\n );\r\n }\r\n\r\n private makeCancelRequestForm() {\r\n this.cancelRequestForm = this.fb.group({\r\n orderDetailIds: [\"\"],\r\n reason: [null, Validators.required],\r\n });\r\n }\r\n\r\n openCancelOrderPopup() {\r\n this.cancelOrderCurrencyCode =\r\n this.getCancelableItems[0].currencyCode || \"\";\r\n this.isOpenCancelRequestModal = true;\r\n\r\n this.getCancelReasonOption();\r\n this.makeCancelRequestForm();\r\n\r\n setTimeout(() => {\r\n this.cancelFormModal.show();\r\n }, 100);\r\n }\r\n onCancelOrderModalHidden() {\r\n this.cancelFormModal.hide();\r\n this.allCancelItemSelected.deselectAll();\r\n this.cancelRequestForm.reset();\r\n this.cancelRequestForm.get(\"reason\").updateValueAndValidity();\r\n }\r\n\r\n toggleCancelSelection(completed: boolean) {\r\n this.allCancelItemComplete = completed;\r\n if (completed) {\r\n this.allCancelItemSelected.selectAll();\r\n } else {\r\n this.allCancelItemSelected.deselectAll();\r\n }\r\n }\r\n\r\n isAllCancelSelected() {\r\n return (\r\n this.allCancelItemSelected.selectedOptions.selected.length ===\r\n this.allCancelItemSelected.options.length\r\n );\r\n }\r\n\r\n onCancelSelectionListChange(event) {\r\n this.allCancelItemComplete = this.isAllCancelSelected();\r\n }\r\n\r\n someCancelComplete() {\r\n return (\r\n this.allCancelItemSelected &&\r\n this.allCancelItemSelected.selectedOptions.selected.length > 0 &&\r\n !this.allCancelItemComplete\r\n );\r\n }\r\n\r\n isCancelFormValid(): boolean {\r\n if (this.cancelRequestForm.invalid) {\r\n return false;\r\n }\r\n\r\n if (\r\n this.allCancelItemSelected &&\r\n this.allCancelItemSelected.selectedOptions.selected.length === 0\r\n ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n onCancelRequestSubmit() {\r\n if (!this.isCancelFormValid()) {\r\n return;\r\n }\r\n\r\n const selectedItems =\r\n this.allCancelItemSelected.selectedOptions.selected.map(\r\n (item) => item.value\r\n );\r\n\r\n const orderDetailIdSet = [];\r\n selectedItems.forEach((item) => {\r\n orderDetailIdSet.push(item.orderDetailId);\r\n });\r\n\r\n const formData = {\r\n orderId: this.orderInfo.orderId,\r\n // orderDetailIds: this.allCancelItemComplete\r\n // ? \"\"\r\n // : orderDetailIdSet.join(\",\"),\r\n orderDetailIds: orderDetailIdSet.join(\",\"),\r\n reason: this.cancelRequestForm.value.reason,\r\n };\r\n\r\n this.ls.showLoader();\r\n this.os\r\n .createCancelOrderByStore(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.cancelFormModal.hide();\r\n this.ls.hideLoader();\r\n this.getOrderDetail();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface OrderDetailResponse {\r\n status: boolean;\r\n message: string;\r\n data: Order;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\n\r\nimport { OrdersComponent } from './orders/orders.component';\r\nimport { DetailComponent } from './detail/detail.component';\r\nimport { ScheduleComponent } from './schedule/schedule.component';\r\nimport { OrdersModule } from './orders.module';\r\n\r\nconst ORDER_ENDPOINT = `${constEnv.storeEndPoint}/order`;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${ORDER_ENDPOINT}`,\r\n children: [\r\n { path: 'lists', component: OrdersComponent },\r\n {\r\n path: 'detail',\r\n children: [\r\n { path: ':orderId', component: DetailComponent },\r\n { path: '', redirectTo: `${ORDER_ENDPOINT}`, pathMatch: 'full'}\r\n ]\r\n },\r\n { path: ':orderId/schedule', component: ScheduleComponent },\r\n { path: '', component: OrdersComponent }\r\n ],\r\n canActivate: [AuthGuard]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {})],\r\n exports: [RouterModule]\r\n})\r\nexport class OrdersRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { FormsModule } from \"@angular/forms\";\r\n\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\n\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { TemplateDefaultModule } from \"../../shared/template-default/template-default.module\";\r\nimport { DataTablesModule } from \"angular-datatables\";\r\nimport { OrdersRoutingModule } from \"./orders-routing.module\";\r\n\r\nimport { OrdersComponent } from \"./orders/orders.component\";\r\nimport { DetailComponent } from \"./detail/detail.component\";\r\n\r\nimport { BsDatepickerModule } from \"ngx-bootstrap/datepicker\";\r\nimport { ScheduleComponent } from \"./schedule/schedule.component\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\nimport { PopoverModule } from \"ngx-bootstrap/popover\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\nimport { PipeModule } from \"common/_pipe/pipe.module\";\r\n\r\n@NgModule({\r\n declarations: [OrdersComponent, DetailComponent, ScheduleComponent],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n OrdersRoutingModule,\r\n TranslateModule.forRoot(),\r\n ReactiveFormsModule,\r\n FormsModule,\r\n ComponentModule,\r\n TemplateDefaultModule,\r\n DataTablesModule,\r\n MaterialModule,\r\n BsDatepickerModule.forRoot(),\r\n ModalModule,\r\n NgSelectModule,\r\n PipeModule,\r\n PopoverModule.forRoot(),\r\n ],\r\n})\r\nexport class OrdersModule {}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { first, filter } from \"rxjs/operators\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { OrderService } from \"common/services/store/order.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { Order } from \"common/_models/store/order\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\n\r\n@Component({\r\n selector: \"app-orders\",\r\n templateUrl: \"./orders.component.html\",\r\n styleUrls: [\"./orders.component.css\"],\r\n})\r\nexport class OrdersComponent implements OnInit {\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n orderFiltersOptions = [\r\n { optionKey: \"OrderId\", optionValue: \"OrderNo\" },\r\n // { optionKey: 'Customer', optionValue: 'CustomerName' },\r\n ];\r\n\r\n hasOrders = false;\r\n lists: Order[] = [];\r\n\r\n searchForm: FormGroup;\r\n submitted = false;\r\n maxDate: Date;\r\n\r\n dateFormat = \"yyyy-MM-dd\";\r\n\r\n config = constEnv;\r\n\r\n public defaultCurrency = \"\";\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private fb: FormBuilder,\r\n private order: OrderService,\r\n private alert: AlertService,\r\n private datePipe: DatePipe,\r\n private gs: GeneralService\r\n ) {\r\n this.maxDate = new Date();\r\n this.maxDate.setDate(this.maxDate.getDate());\r\n }\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Orders\");\r\n this.defaultCurrency = this.gs.getDefaultCurrency();\r\n this.makeSearchFrom();\r\n this.createDataTable();\r\n }\r\n\r\n makeSearchFrom() {\r\n this.searchForm = this.fb.group({\r\n filterBy: [this.orderFiltersOptions[0].optionKey],\r\n filterText: [\"\"],\r\n orderFilterDates: [\"\"],\r\n });\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: -1,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.hasOrders = true;\r\n\r\n const searchparams = this.searchForm.value;\r\n if (searchparams.filterText !== \"\") {\r\n dataTablesParameters.search.column = searchparams.filterBy;\r\n dataTablesParameters.search.value = searchparams.filterText;\r\n }\r\n\r\n dataTablesParameters.search.dateTimeForm = \"\";\r\n dataTablesParameters.search.dateTimeTo = \"\";\r\n if (searchparams.orderFilterDates !== \"\") {\r\n const oDates = searchparams.orderFilterDates;\r\n dataTablesParameters.search.dateTimeForm = this.datePipe.transform(\r\n oDates[0],\r\n this.dateFormat\r\n );\r\n dataTablesParameters.search.dateTimeTo = this.datePipe.transform(\r\n oDates[1],\r\n this.dateFormat\r\n );\r\n }\r\n\r\n let paging: Paginate = null;\r\n\r\n this.order\r\n .getAllOrders(dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n const res = data as OrderListResponse;\r\n\r\n if (res.status === true) {\r\n this.lists = res.data.map((item) =>\r\n new Order().deserialize(item)\r\n );\r\n\r\n paging = JSON.parse(res.paging) as Paginate;\r\n } else {\r\n paging = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n } as Paginate;\r\n\r\n this.alert.danger(data[\"message\"]);\r\n this.lists = [];\r\n }\r\n\r\n // if (data['status'] === true) {\r\n // this.categoryLists = data['data'];\r\n // if (this.categoryLists.length > 0) {\r\n // this.hasCategory = true;\r\n // } else {\r\n // this.hasCategory = false;\r\n // }\r\n // paging = JSON.parse(data['paging']);\r\n // // paging = { totalCount: this.categoryLists.length, totalRowsAfterFiltering: this.categoryLists.length };\r\n // } else {\r\n // this.alert.danger(data['message']);\r\n // this.categoryLists = [];\r\n // this.hasCategory = false;\r\n // }\r\n\r\n // if (this.categoryLists.length > 0) {\r\n // this.hasCategory = true;\r\n // }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n\r\n // this.loader.hideLoader();\r\n },\r\n (err) => {\r\n // this.alert.danger(err.error.Message);\r\n // this.loader.hideLoader();\r\n }\r\n );\r\n\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n },\r\n };\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.searchForm.invalid) {\r\n return;\r\n }\r\n\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) => dtInstance.draw());\r\n }\r\n\r\n filterChange(selectedVal) {\r\n this.searchForm.get(\"filterText\").setValue(\"\");\r\n }\r\n\r\n resetFrom() {\r\n this.submitted = false;\r\n // this.searchForm.reset();\r\n\r\n // this.searchForm.get('filterBy').setValue( this.productFiltersOptions[0].optionKey );\r\n this.searchForm.get(\"filterText\").setValue(\"\");\r\n this.searchForm.get(\"orderFilterDates\").setValue(\"\");\r\n\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) => dtInstance.draw());\r\n }\r\n}\r\n\r\ninterface OrderListResponse {\r\n status: boolean;\r\n message: string;\r\n paging: string;\r\n data: Order[];\r\n}\r\n\r\ninterface Paginate {\r\n totalCount: number;\r\n totalRowsAfterFiltering: number;\r\n pageSize: number;\r\n currentPage: number;\r\n totalPages: number;\r\n previousPage: string;\r\n nextPage: string;\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\n\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\n\r\n@Component({\r\n selector: \"app-schedule\",\r\n templateUrl: \"./schedule.component.html\",\r\n styleUrls: [\"./schedule.component.css\"],\r\n})\r\nexport class ScheduleComponent implements OnInit {\r\n orderId = 0;\r\n listUrl: string;\r\n\r\n deliverySchedules = [];\r\n\r\n config = constEnv;\r\n\r\n selectedPatch: string;\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alert: AlertService,\r\n private ls: LoaderService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Schedule Delivery\");\r\n\r\n this.orderId =\r\n this.route.snapshot.params.orderId > 0\r\n ? this.route.snapshot.params.orderId\r\n : 0;\r\n\r\n this.listUrl = `${this.config.STORE_URL}/orders`;\r\n\r\n if (this.orderId <= 0) {\r\n this.router.navigate([this.listUrl]);\r\n return false;\r\n }\r\n\r\n this.getDeliverySchedule();\r\n }\r\n\r\n getDeliverySchedule() {\r\n this.deliverySchedules = [\r\n {\r\n schedule: 100,\r\n name: \"Patch 1\",\r\n date: \"28 October, 2020\",\r\n items: Array(10)\r\n .fill(10)\r\n .map((x, i) => i),\r\n },\r\n {\r\n schedule: 101,\r\n name: \"Patch 2\",\r\n date: \"29 October, 2020\",\r\n items: Array(5)\r\n .fill(5)\r\n .map((x, i) => i),\r\n },\r\n ];\r\n\r\n console.log(this.deliverySchedules);\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AuthGuard } from \"common/_helpers/auth.guard\";\r\nimport { DashboardComponent } from \"./dashboard/dashboard.component\";\r\nimport { AerialViewComponent } from \"./aerial-view/aerial-view.component\";\r\nimport { FeedbackComponent } from \"./feedback/feedback.component\";\r\nimport { PrefrredDeliveryCompanyComponent } from \"./prefrred-delivery-company/prefrred-delivery-company.component\";\r\nimport { DeliveryZoneComponent } from \"./delivery-zone/delivery-zone.component\";\r\n\r\nconst STORE_ENDPOINT = constEnv.storeEndPoint;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${STORE_ENDPOINT}`,\r\n children: [\r\n { path: \"dashboard\", component: DashboardComponent },\r\n { path: \"aerial-view\", component: AerialViewComponent },\r\n {\r\n path: \"prefrred-delivery-company\",\r\n component: PrefrredDeliveryCompanyComponent,\r\n },\r\n {\r\n path: \"delivery-zone\",\r\n component: DeliveryZoneComponent,\r\n },\r\n {\r\n path: \"feedback\",\r\n children: [\r\n { path: \":type\", component: FeedbackComponent },\r\n { path: \"\", component: FeedbackComponent },\r\n ],\r\n },\r\n { path: \"\", redirectTo: `dashboard`, pathMatch: \"full\" },\r\n ],\r\n canActivate: [AuthGuard],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class PagesRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { PagesRoutingModule } from \"./pages-routing.module\";\r\nimport { AlertModule } from \"@full-fledged/alerts\";\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { Ng2TelInputModule } from \"ng2-tel-input\";\r\nimport { NgxIntlTelInputModule } from \"ngx-intl-tel-input\";\r\nimport { ChartsModule } from \"ng2-charts\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\n\r\nimport { DashboardComponent } from \"./dashboard/dashboard.component\";\r\nimport { TemplateDefaultModule } from \"../shared/template-default/template-default.module\";\r\nimport { StarRatingModule } from \"angular-star-rating\";\r\n\r\nimport { ProductsModule } from \"./products/products.module\";\r\nimport { OrdersModule } from \"./orders/orders.module\";\r\nimport { DriversModule } from \"./drivers/drivers.module\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\nimport { EarningsModule } from \"./earnings/earnings.module\";\r\nimport { SettingsModule } from \"./settings/settings.module\";\r\nimport { WishlistModule } from \"./wishlist/wishlist.module\";\r\nimport { PromoCodeModule } from \"./promo-code/promo-code.module\";\r\nimport { ShippingRateModule } from \"./shipping-rate/shipping-rate.module\";\r\nimport { OffersModule } from \"./offers/offers.module\";\r\nimport { NotificationModule } from \"./notification/notification.module\";\r\nimport { HelpSupportModule } from \"./help-support/help-support.module\";\r\nimport { DataTablesModule } from \"angular-datatables\";\r\n\r\nimport { ReturnRequestModule } from \"./return-request/return-request.module\";\r\nimport { AerialViewComponent } from \"./aerial-view/aerial-view.component\";\r\nimport { FeedbackComponent } from \"./feedback/feedback.component\";\r\nimport { PrefrredDeliveryCompanyComponent } from \"./prefrred-delivery-company/prefrred-delivery-company.component\";\r\nimport { StoreVehicleModule } from \"./store-vehicle/store-vehicle.module\";\r\nimport { PotentialListModule } from \"./potential-list/potential-list.module\";\r\nimport { DeliveryZoneComponent } from \"./delivery-zone/delivery-zone.component\";\r\nimport { CancelRequestModule } from \"./cancel-request/cancel-request.module\";\r\nimport { NgxGalleryModule } from \"ngx-gallery-9\";\r\nimport { PaginationModule } from \"ngx-bootstrap/pagination\";\r\n\r\n@NgModule({\r\n declarations: [\r\n DashboardComponent,\r\n AerialViewComponent,\r\n FeedbackComponent,\r\n PrefrredDeliveryCompanyComponent,\r\n DeliveryZoneComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n PagesRoutingModule,\r\n AlertModule.forRoot({\r\n maxMessages: 1,\r\n timeout: 2500,\r\n positionX: \"right\",\r\n positionY: \"top\",\r\n }),\r\n ComponentModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Ng2TelInputModule,\r\n NgxIntlTelInputModule,\r\n TranslateModule.forRoot(),\r\n MaterialModule,\r\n TemplateDefaultModule,\r\n ProductsModule,\r\n OrdersModule,\r\n PotentialListModule,\r\n DriversModule,\r\n EarningsModule,\r\n SettingsModule,\r\n WishlistModule,\r\n PromoCodeModule,\r\n ShippingRateModule,\r\n StoreVehicleModule,\r\n OffersModule,\r\n ChartsModule,\r\n ReturnRequestModule,\r\n NotificationModule,\r\n DataTablesModule,\r\n HelpSupportModule,\r\n StarRatingModule.forRoot(),\r\n NgSelectModule,\r\n ModalModule.forRoot(),\r\n CancelRequestModule,\r\n NgxGalleryModule,\r\n PaginationModule.forRoot(),\r\n ],\r\n})\r\nexport class PagesModule {}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n TemplateRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { Subscription, combineLatest } from \"rxjs\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ConfirmDialogComponent } from \"common/_components/confirm-dialog/confirm-dialog.component\";\r\nimport { PotentialListService } from \"common/services/store/potentialList.service\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { PromoCodeService } from \"common/services/store/promo-code.service\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\n\r\n@Component({\r\n selector: \"app-list\",\r\n templateUrl: \"./list.component.html\",\r\n styleUrls: [\"./list.component.css\"],\r\n})\r\nexport class ListComponent implements OnInit {\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n hasLists = false;\r\n lists: PotentialList[] = [];\r\n\r\n modalRef: BsModalRef;\r\n subscriptions: Subscription[] = [];\r\n\r\n selectedId = 0;\r\n\r\n config = constEnv;\r\n\r\n @ViewChild(\"actionModal\", { static: false }) actionModal: ModalDirective;\r\n isActionModalShown = false;\r\n\r\n @ViewChild(\"viewModal\", { static: false }) viewModal: ModalDirective;\r\n isViewModalShown = false;\r\n\r\n actionForm: FormGroup;\r\n loading = false;\r\n\r\n currentDate = new Date();\r\n defaultCurrencyCode = \" \";\r\n\r\n dealData = null;\r\n\r\n filters = [\r\n { key: 0, label: \"All\" },\r\n { key: 1, label: \"Wishlist\" },\r\n { key: 2, label: \"Job\" },\r\n ];\r\n\r\n selectedFilter = 0;\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private ls: IsLoadingService,\r\n private pl: PotentialListService,\r\n private promocode: PromoCodeService,\r\n private fb: FormBuilder,\r\n private general: GeneralService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Potential List\");\r\n\r\n if (this.ls.isLoading$()) {\r\n this.ls.remove();\r\n }\r\n\r\n const defaultSetting = this.general.getDefaultSettings();\r\n\r\n this.defaultCurrencyCode = defaultSetting[\"currancy_code\"];\r\n\r\n this.currentDate.setDate(this.currentDate.getDate() + 1);\r\n\r\n this.createTable();\r\n }\r\n\r\n createTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: -1,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n // this.hasLists = false;\r\n\r\n // const searchparams = this.searchForm.value;\r\n // if (searchparams.filterText !== '') {\r\n // dataTablesParameters.search.column = searchparams.filterBy;\r\n // dataTablesParameters.search.value = searchparams.filterText;\r\n // }\r\n\r\n dataTablesParameters.filterListType = this.selectedFilter;\r\n\r\n this.pl\r\n .getAllPotentialList(dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (resp) => {\r\n const data = resp as PotentialListResponse;\r\n\r\n let paging: Paginate;\r\n this.lists = [];\r\n if (data.status === true) {\r\n this.lists = data.data as PotentialList[];\r\n\r\n paging = JSON.parse(data.paging) as Paginate;\r\n } else {\r\n paging = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n } as Paginate;\r\n this.lists = [];\r\n this.hasLists = false;\r\n }\r\n\r\n if (this.lists.length > 0) {\r\n this.hasLists = true;\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(msg);\r\n }\r\n this.lists = [];\r\n this.hasLists = false;\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n }\r\n );\r\n },\r\n };\r\n }\r\n\r\n get a() {\r\n return this.actionForm.controls;\r\n }\r\n\r\n onChangePotentialListType($event) {\r\n this.selectedFilter = $event.target.value;\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) => dtInstance.draw());\r\n }\r\n\r\n createDeal(item: PotentialList): void {\r\n this.createActionForm(item);\r\n this.isActionModalShown = true;\r\n }\r\n\r\n viewDeal() {\r\n this.isViewModalShown = true;\r\n }\r\n\r\n createActionForm(item: PotentialList) {\r\n this.actionForm = this.fb.group(\r\n {\r\n customerId: [item.customerId],\r\n productId: [item.productId],\r\n variationId: [item.productVariationId],\r\n productPrice: [item.productPrice],\r\n discount: [\"\", Validators.required],\r\n discountUnit: [null, Validators.required],\r\n activationdate: [this.currentDate],\r\n expirydate: [\"\", Validators.required],\r\n status: [null, Validators.required],\r\n },\r\n {\r\n validators: [CustomValidator.checkPotentialListDiscount],\r\n }\r\n );\r\n }\r\n\r\n getErrorDiscount() {\r\n return this.actionForm.get(\"discount\").hasError(\"required\")\r\n ? \"\"\r\n : this.actionForm.get(\"discount\").hasError(\"discountPer\")\r\n ? \"DiscountPercentValidation\"\r\n : // ? this.titleService.getTranslatedString(\"DiscountPercentValidation\")\r\n this.actionForm.get(\"discount\").hasError(\"discountFlatMax\")\r\n ? \"PriceGreateThenProductPrice\"\r\n : // ? this.titleService.getTranslatedString(\"PriceGreateThenProductPrice\")\r\n this.actionForm.get(\"discount\").hasError(\"discountFlat\")\r\n ? \"MaximumDiscount\"\r\n : // ? this.titleService.getTranslatedString(\"MaximumDiscount\")\r\n \"\";\r\n }\r\n\r\n changeDiscountUnit($event) {\r\n if (this.a[\"discount\"].value !== \"\") {\r\n this.a[\"discount\"].markAsTouched({ onlySelf: true });\r\n this.a[\"discount\"].updateValueAndValidity();\r\n }\r\n }\r\n\r\n onHidden(): void {\r\n this.isActionModalShown = false;\r\n this.actionForm.reset();\r\n }\r\n\r\n hideModal(): void {\r\n this.actionModal.hide();\r\n }\r\n\r\n hideViewModel() {\r\n this.viewModal.hide();\r\n }\r\n\r\n hiddenViewModel() {\r\n this.isViewModalShown = false;\r\n }\r\n\r\n showDeal(offerId) {\r\n this.ls.add();\r\n this.promocode.get(offerId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.dealData = data[\"data\"];\r\n\r\n this.isViewModalShown = true;\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.ls.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(msg);\r\n }\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n\r\n onActionSubmit() {\r\n if (this.actionForm.invalid) {\r\n return;\r\n }\r\n\r\n const ActivationDateUtc = this.actionForm.value.activationdate;\r\n let activationDate = \"\";\r\n if (typeof ActivationDateUtc !== \"undefined\" && ActivationDateUtc !== \"\") {\r\n const month = ActivationDateUtc.getMonth() * 1 + 1;\r\n const monthWithZero = month >= 0 && month <= 9 ? \"0\" + month : month;\r\n const day =\r\n ActivationDateUtc.getDate() >= 1 && ActivationDateUtc.getDate() <= 9\r\n ? \"0\" + ActivationDateUtc.getDate()\r\n : ActivationDateUtc.getDate();\r\n activationDate =\r\n ActivationDateUtc.getFullYear() + \"-\" + monthWithZero + \"-\" + day;\r\n }\r\n\r\n const expiryDateUtc = this.actionForm.value.expirydate;\r\n let expiryDate = \"\";\r\n if (typeof expiryDateUtc !== \"undefined\" && expiryDateUtc !== \"\") {\r\n const month = expiryDateUtc.getMonth() * 1 + 1;\r\n const monthWithZero = month >= 0 && month <= 9 ? \"0\" + month : month;\r\n const day =\r\n expiryDateUtc.getDate() >= 1 && expiryDateUtc.getDate() <= 9\r\n ? \"0\" + expiryDateUtc.getDate()\r\n : expiryDateUtc.getDate();\r\n expiryDate =\r\n expiryDateUtc.getFullYear() + \"-\" + monthWithZero + \"-\" + day;\r\n }\r\n\r\n const formData = {\r\n discount: this.actionForm.value.discount,\r\n activationdate: activationDate,\r\n expirydate: expiryDate,\r\n status: this.actionForm.value.status,\r\n type1: this.actionForm.value.discountUnit,\r\n customerId:\r\n this.actionForm.value.customerId > 0\r\n ? this.actionForm.value.customerId\r\n : 0,\r\n productId:\r\n this.actionForm.value.productId > 0\r\n ? this.actionForm.value.productId\r\n : 0,\r\n variationId:\r\n this.actionForm.value.variationId > 0\r\n ? this.actionForm.value.variationId\r\n : 0,\r\n isDeal: true,\r\n };\r\n\r\n this.ls.add();\r\n this.promocode.add(formData).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.hideModal();\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) =>\r\n dtInstance.draw()\r\n );\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.ls.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(msg);\r\n }\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface PotentialListResponse {\r\n status: boolean;\r\n message: string;\r\n data: PotentialList[];\r\n paging: string;\r\n}\r\n\r\ninterface Paginate {\r\n totalCount: number;\r\n totalRowsAfterFiltering: number;\r\n pageSize: number;\r\n currentPage: number;\r\n totalPages: number;\r\n previousPage: string;\r\n nextPage: string;\r\n}\r\n\r\ninterface PotentialList {\r\n customerId: number;\r\n customerName: string;\r\n finalPrice: number;\r\n hasIndividualOffer: boolean;\r\n hasOffer: boolean;\r\n jobName: string;\r\n productId: number;\r\n productImage: string;\r\n productName: string;\r\n productPrice: number;\r\n productVariationId: number;\r\n wishlistId: number;\r\n offerId: number;\r\n currencyCode: string;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\n\r\nimport { ListComponent } from './list/list.component';\r\n\r\nconst routeStore = constEnv.storeEndPoint;\r\n\r\n\r\nconst routes: Routes = [\r\n { \r\n path: `${routeStore}/potential-list`, \r\n children: [\r\n // { \r\n // path: ':action',\r\n // children: [\r\n // { path: ':id', component: ActionComponent },\r\n // { path: '', component: ActionComponent }\r\n // ]\r\n // },\r\n { path: '', component: ListComponent },\r\n ],\r\n canActivate: [AuthGuard] \r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class PotentialListRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { DataTablesModule } from \"angular-datatables\";\r\nimport { BsDatepickerModule } from \"ngx-bootstrap/datepicker\";\r\nimport { MyDirectiveModule } from \"common/directives/my-directive.module\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { TemplateDefaultModule } from \"../../shared/template-default/template-default.module\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\n\r\nimport { PotentialListRoutingModule } from \"./potential-list-routing.module\";\r\nimport { ListComponent } from \"./list/list.component\";\r\nimport { PipeModule } from \"common/_pipe/pipe.module\";\r\n\r\n@NgModule({\r\n declarations: [ListComponent],\r\n imports: [\r\n CommonModule,\r\n PotentialListRoutingModule,\r\n RouterModule,\r\n TranslateModule.forRoot(),\r\n ReactiveFormsModule,\r\n DataTablesModule,\r\n ComponentModule,\r\n MaterialModule,\r\n NgSelectModule,\r\n ModalModule.forRoot(),\r\n TemplateDefaultModule,\r\n BsDatepickerModule.forRoot(),\r\n MyDirectiveModule,\r\n PipeModule,\r\n ],\r\n})\r\nexport class PotentialListModule {}\r\n","import {\r\n Component,\r\n OnInit,\r\n TemplateRef,\r\n ChangeDetectorRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { SettingsService } from \"common/services/store/settings.service\";\r\n\r\nimport {\r\n BsModalService,\r\n BsModalRef,\r\n ModalDirective,\r\n} from \"ngx-bootstrap/modal\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n Validators,\r\n FormControl,\r\n} from \"@angular/forms\";\r\nimport { Subscription, combineLatest } from \"rxjs\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ConfirmDialogComponent } from \"common/_components/confirm-dialog/confirm-dialog.component\";\r\n\r\n@Component({\r\n selector: \"app-prefrred-delivery-company\",\r\n templateUrl: \"./prefrred-delivery-company.component.html\",\r\n styleUrls: [\"./prefrred-delivery-company.component.css\"],\r\n})\r\nexport class PrefrredDeliveryCompanyComponent implements OnInit {\r\n modalRef: BsModalRef;\r\n subscriptions: Subscription[] = [];\r\n\r\n searchForm: FormGroup;\r\n submitted = false;\r\n\r\n @ViewChild(\"autoShownModal\", { static: false })\r\n autoShownModal: ModalDirective;\r\n @ViewChild(\"searchFormModal\", { static: false })\r\n searchFormModal: ModalDirective;\r\n @ViewChild(\"removeConfirm\", { static: false }) removeConfirm: ModalDirective;\r\n\r\n driverData: any = [];\r\n noMessageDisplay = \"\";\r\n driverLists: any;\r\n removePreferableId = 0;\r\n\r\n config = constEnv;\r\n\r\n constructor(\r\n private alert: AlertService,\r\n private ls: IsLoadingService,\r\n private titleService: TitleService,\r\n private settings: SettingsService,\r\n private modalService: BsModalService,\r\n private fb: FormBuilder,\r\n private changeDetection: ChangeDetectorRef,\r\n private dialog: MatDialog\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Preferred Delivery Company\");\r\n if (this.ls.isLoading$()) {\r\n this.ls.remove();\r\n }\r\n\r\n this.getDriverLists();\r\n\r\n this.makeForm();\r\n }\r\n\r\n getDriverLists() {\r\n this.ls.add();\r\n this.noMessageDisplay = \"\";\r\n this.driverLists = [];\r\n this.settings.getPreferredDriverLists().subscribe(\r\n (response) => {\r\n if (response[\"status\"] === true) {\r\n this.driverLists = response[\"data\"];\r\n } else {\r\n this.noMessageDisplay = response[\"message\"];\r\n }\r\n this.ls.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.noMessageDisplay = msg;\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n\r\n makeForm() {\r\n this.searchForm = this.fb.group({\r\n emailId: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.pattern(\r\n \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,4}$\"\r\n ),\r\n ])\r\n ),\r\n });\r\n }\r\n\r\n getErrorEmail() {\r\n return this.searchForm.get(\"emailId\").hasError(\"required\")\r\n ? \"\"\r\n : this.searchForm.get(\"emailId\").hasError(\"pattern\")\r\n ? \"EmailInValid\"\r\n : // ? this.titleService.getTranslatedString(\"EmailInValid\")\r\n \"\";\r\n }\r\n\r\n openModal() {\r\n this.searchFormModal.show();\r\n }\r\n\r\n hideModal() {\r\n this.submitted = false;\r\n this.searchForm.reset();\r\n }\r\n\r\n backToSearch() {\r\n this.driverData = [];\r\n this.autoShownModal.hide();\r\n this.searchFormModal.show();\r\n }\r\n\r\n get f() {\r\n return this.searchForm.controls;\r\n }\r\n\r\n submitForm() {\r\n this.submitted = true;\r\n\r\n if (this.searchForm.invalid) {\r\n return;\r\n }\r\n\r\n this.ls.add();\r\n this.settings.searchDriverData(this.searchForm.value).subscribe(\r\n (response) => {\r\n if (response[\"status\"] === true) {\r\n this.driverData = response[\"data\"] !== null ? response[\"data\"] : [];\r\n this.searchFormModal.hide();\r\n this.autoShownModal.show();\r\n } else {\r\n this.alert.danger(response[\"message\"]);\r\n }\r\n this.ls.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n\r\n this.alert.danger(msg);\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n\r\n addToPrefrredDeliveryCompany(deliveryCompanyId = 0) {\r\n if (deliveryCompanyId > 0) {\r\n this.driverData = [];\r\n this.ls.add();\r\n this.settings.addPreferrableDeliveryCompany(deliveryCompanyId).subscribe(\r\n (response) => {\r\n if (response[\"status\"] === true) {\r\n this.searchFormModal.hide();\r\n this.autoShownModal.hide();\r\n this.alert.success(response[\"message\"]);\r\n this.getDriverLists();\r\n } else {\r\n this.alert.danger(response[\"message\"]);\r\n this.backToSearch();\r\n }\r\n this.ls.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n\r\n this.alert.danger(msg);\r\n this.ls.remove();\r\n }\r\n );\r\n } else {\r\n this.backToSearch();\r\n }\r\n }\r\n\r\n removeAction(preferenceId) {\r\n this.removePreferableId = preferenceId;\r\n this.removeConfirm.show();\r\n }\r\n\r\n removePreferredDeliveryCompany(preferenceId) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm\",\r\n message: \"DeleteConfirm\",\r\n },\r\n });\r\n\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n this.ls.add();\r\n this.settings.removePreferrableDriver(preferenceId).subscribe(\r\n (response) => {\r\n if (response[\"status\"] === true) {\r\n this.driverData = [];\r\n this.alert.success(response[\"message\"]);\r\n this.getDriverLists();\r\n } else {\r\n this.alert.danger(response[\"message\"]);\r\n }\r\n this.ls.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n\r\n this.alert.danger(msg);\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n hideRemoveModal() {\r\n this.removePreferableId = 0;\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from \"@angular/forms\";\r\nimport { first } from \"rxjs/operators\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { ProductService } from \"common/services/store/product.service\";\r\nimport { ProductBrand } from \"common/_models/store/productBrand.model\";\r\nimport { ProductCategory } from \"common/_models/store/productCategory.model\";\r\nimport { ProductLabel } from \"common/_models/store/productLabel.model\";\r\nimport { ProductTag } from \"common/_models/store/productTag.model\";\r\nimport { ProductType } from \"common/_models/store/productType.model\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\nimport { ProductTheme } from \"common/_models/store/productTheme.model\";\r\nimport { ProductColorPalette } from \"common/_models/store/productColorPalette.model\";\r\nimport { ProductServiceType } from \"common/_models/store/productServiceType.model\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\n\r\n@Component({\r\n selector: \"app-add-product\",\r\n templateUrl: \"./add-product.component.html\",\r\n styleUrls: [\"./add-product.component.css\"],\r\n})\r\nexport class AddProductComponent implements OnInit {\r\n config = constEnv;\r\n productListUrl: string;\r\n\r\n dropDownValues: DropDownValues;\r\n subCategories: ProductCategory[] = [];\r\n\r\n addProductForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n\r\n defaultLanguage: any;\r\n allLanguages: any;\r\n availableLangs = [];\r\n\r\n dropdownSettings = {};\r\n\r\n @ViewChild(\"primaryFileInput\", { static: true }) primaryFileInput: ElementRef;\r\n primaryFileData: File = null;\r\n primaryPreviewUrl: any = null;\r\n\r\n @ViewChild(\"secondaryFileInput\", { static: true })\r\n secondaryFileInput: ElementRef;\r\n secondaryFileData: File[] = [];\r\n secondaryPreviewUrl: any = [];\r\n\r\n sellingPrice: Number = 0;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private alert: AlertService,\r\n private titleService: TitleService,\r\n private isLoadingService: IsLoadingService,\r\n private translate: TranslateService,\r\n private product: ProductService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Add Product\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.productListUrl = `${this.config.STORE_URL}/product/lists`;\r\n\r\n this.dropdownSettings = {\r\n singleSelection: false,\r\n text: \"Product Tags\",\r\n selectAllText: this.translate.get(\"SelectAll\")[\"value\"],\r\n unSelectAllText: this.translate.get(\"UnSelectAll\")[\"value\"],\r\n enableSearchFilter: true,\r\n classes: \"myclass custom-class\",\r\n };\r\n\r\n this.dropDownValues = {\r\n categoryLists: [],\r\n brands: [],\r\n productTags: [],\r\n productLabels: [],\r\n } as DropDownValues;\r\n\r\n this.makeForm();\r\n this.loadDropDownValues();\r\n }\r\n\r\n loadDropDownValues() {\r\n this.isLoadingService.add();\r\n this.product.getDropDownValues().subscribe((data) => {\r\n const dataValues = data[\"data\"];\r\n\r\n this.dropDownValues = this.product.getProductDropDownModels(\r\n dataValues\r\n ) as DropDownValues;\r\n\r\n this.isLoadingService.remove();\r\n });\r\n }\r\n\r\n getSubcaregoryLists() {\r\n const catId = this.addProductForm.value.categoryName;\r\n\r\n if (catId !== null) {\r\n this.isLoadingService.add();\r\n this.addProductForm.get(\"subCategory\").setValue(null);\r\n this.product.getSubCategortLists(catId).subscribe((data) => {\r\n if (data[\"data\"] !== null) {\r\n const dataValues = data[\"data\"];\r\n\r\n this.subCategories = dataValues;\r\n\r\n this.addProductForm\r\n .get(\"subCategory\")\r\n .setValidators(Validators.required);\r\n } else {\r\n this.subCategories = [];\r\n }\r\n this.isLoadingService.remove();\r\n });\r\n } else {\r\n this.subCategories = [];\r\n }\r\n }\r\n\r\n makeForm() {\r\n this.addProductForm = this.fb.group(\r\n {\r\n productType: [null, Validators.required],\r\n serviceTypeId: [null, Validators.required],\r\n categoryName: [null, Validators.required],\r\n subCategory: [null, Validators.required],\r\n productName: [\"\", Validators.required],\r\n descriptipn: [\"\"],\r\n brand: [null, Validators.required],\r\n productTags: [null],\r\n productLabel: [null],\r\n price: [\"\", Validators.required],\r\n offerAmount: [\"\"],\r\n primaryImage: [null, Validators.required],\r\n secondaryImage: null,\r\n videoUrl: [\"\"],\r\n theme: [null, Validators.required],\r\n colorPalette: [null, Validators.required],\r\n isFragile: [null],\r\n IsAssemblyRequired: [null],\r\n AssemblyCharges: [0],\r\n isReturnable: [null],\r\n productDimensions: this.fb.group({\r\n weight: [null, Validators.required],\r\n length: [null, Validators.required],\r\n width: [null, Validators.required],\r\n height: [null, Validators.required],\r\n }),\r\n shipping: this.fb.group({\r\n processingTime: [null, Validators.required],\r\n weight: [null, Validators.required],\r\n length: [null, Validators.required],\r\n width: [null, Validators.required],\r\n height: [null, Validators.required],\r\n }),\r\n },\r\n {\r\n validators: [\r\n CustomValidator.OnlyZeroNotAllowed(\"productDimensions.weight\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"productDimensions.length\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"productDimensions.width\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"productDimensions.height\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"shipping.weight\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"shipping.length\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"shipping.width\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"shipping.height\"),\r\n // CustomValidator.OnlyZeroNotAllowed(\"AssemblyCharges\"),\r\n ],\r\n }\r\n );\r\n }\r\n\r\n primaryFileProgress(primaryFileInput: any) {\r\n const allowedImageTypes = [\"image/jpeg\", \"image/jpg\", \"image/png\"];\r\n const selectedFile = primaryFileInput.target.files[0] as File;\r\n\r\n if (selectedFile) {\r\n if (allowedImageTypes.includes(selectedFile.type)) {\r\n this.primaryFileData = selectedFile;\r\n this.primaryImagePreview();\r\n } else {\r\n this.alert.danger(\"Please upload only JPG, JPEG, or PNG image.\");\r\n primaryFileInput.target.value = null;\r\n this.primaryPreviewUrl = null;\r\n this.addProductForm.get(\"primaryImage\").setValue(null);\r\n }\r\n }\r\n }\r\n primaryImagePreview() {\r\n const mimeType = this.primaryFileData.type;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(this.primaryFileData);\r\n reader.onload = (_event) => {\r\n this.primaryPreviewUrl = reader.result;\r\n if (this.primaryPreviewUrl.length > 2 ** 21) {\r\n this.alert.danger(\"File exceeds the maximum size: 2mb.\");\r\n this.removePrimaryImage();\r\n } else {\r\n this.addProductForm.get(\"primaryImage\").setValue({\r\n filename: this.primaryFileData.name,\r\n filetype: this.primaryFileData.type,\r\n value: this.primaryPreviewUrl.split(\",\")[1],\r\n });\r\n }\r\n };\r\n }\r\n\r\n removePrimaryImage() {\r\n this.primaryPreviewUrl = null;\r\n this.primaryFileData = null;\r\n this.addProductForm.get(\"primaryImage\").setValue(null);\r\n }\r\n\r\n secondaryFileProgress(secondaryFileInput: any) {\r\n this.secondaryFileData.push(secondaryFileInput.target.files[0] as File);\r\n this.secondaryImagePreview();\r\n }\r\n\r\n secondaryImagePreview() {\r\n if (this.secondaryFileData.length > 0) {\r\n this.secondaryPreviewUrl = [];\r\n for (let i = 0; i < this.secondaryFileData.length; i++) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(this.secondaryFileData[i]);\r\n reader.onload = (_event) => {\r\n this.secondaryPreviewUrl[i] = reader.result;\r\n if (this.secondaryPreviewUrl[i].length > 2 ** 21) {\r\n this.alert.danger(\"File exceeds the maximum size: 2mb.\");\r\n this.removeSecondaryImage(i);\r\n }\r\n };\r\n }\r\n }\r\n }\r\n\r\n onAssemblyChange($event) {\r\n if ($event.checked === false) {\r\n this.addProductForm.get(\"AssemblyCharges\").setValue(0);\r\n this.addProductForm.get(\"AssemblyCharges\").setValidators(null);\r\n } else {\r\n this.addProductForm.get(\"AssemblyCharges\").setValue(null);\r\n this.addProductForm\r\n .get(\"AssemblyCharges\")\r\n .setValidators(Validators.required);\r\n }\r\n }\r\n\r\n removeSecondaryImage(i) {\r\n this.secondaryFileData.splice(i, 1);\r\n this.secondaryPreviewUrl.splice(i, 1);\r\n }\r\n\r\n onOfferChange() {\r\n const price =\r\n this.addProductForm.value.price > 0 ? this.addProductForm.value.price : 0;\r\n const offerAmount =\r\n this.addProductForm.value.offerAmount > 0\r\n ? this.addProductForm.value.offerAmount\r\n : 0;\r\n\r\n if (offerAmount > 0) {\r\n this.sellingPrice = price - (price * offerAmount) / 100;\r\n } else {\r\n this.sellingPrice = price;\r\n }\r\n }\r\n\r\n onProductTypeChange($event) {\r\n const itemType = $event;\r\n if (itemType === 2) {\r\n this.addProductForm.get(\"price\").setValidators(null);\r\n this.addProductForm.get(\"offerAmount\").setValidators(null);\r\n // this.editProductForm.get(\"sellingPrice\").setValidators(null);\r\n this.addProductForm.get(\"price\").updateValueAndValidity();\r\n this.addProductForm.get(\"offerAmount\").updateValueAndValidity();\r\n // this.editProductForm.get(\"sellingPrice\").updateValueAndValidity();\r\n this.addProductForm.get(\"price\").setValue(0);\r\n this.addProductForm.get(\"offerAmount\").setValue(0);\r\n } else {\r\n this.addProductForm.get(\"price\").setValidators([Validators.required]);\r\n this.addProductForm.get(\"offerAmount\").setValidators(null);\r\n this.addProductForm.get(\"price\").updateValueAndValidity();\r\n this.addProductForm.get(\"offerAmount\").updateValueAndValidity();\r\n this.addProductForm.get(\"price\").setValue(\"\");\r\n this.addProductForm.get(\"offerAmount\").setValue(\"\");\r\n }\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.addProductForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n\r\n const formData = new FormData();\r\n formData.append(\"ServiceTypeId\", this.addProductForm.value.serviceTypeId);\r\n formData.append(\"CategoryId\", this.addProductForm.value.categoryName);\r\n formData.append(\"SubCategoryId\", this.addProductForm.value.subCategory);\r\n formData.append(\"ProductName\", this.addProductForm.value.productName);\r\n formData.append(\"ProductDesc\", this.addProductForm.value.descriptipn);\r\n formData.append(\"ProductPrice\", this.addProductForm.value.price);\r\n formData.append(\"ProductOfferAmt\", this.addProductForm.value.offerAmount);\r\n formData.append(\r\n \"PrimaryImage\",\r\n this.primaryFileData !== null ? this.primaryFileData : \"\"\r\n );\r\n formData.append(\"ItemTypeId\", this.addProductForm.value.productType);\r\n formData.append(\r\n \"ItemTagId\",\r\n this.addProductForm.value.productLabel !== null\r\n ? this.addProductForm.value.productLabel\r\n : 0\r\n );\r\n formData.append(\"BrandId\", this.addProductForm.value.brand);\r\n // formData.append('ProductTagIds', productTags.join(','));\r\n formData.append(\"VideoURL\", this.addProductForm.value.videoUrl);\r\n formData.append(\"ThemeId\", this.addProductForm.value.theme);\r\n formData.append(\"ColorPaletteId\", this.addProductForm.value.colorPalette);\r\n formData.append(\r\n \"IsFragile\",\r\n this.addProductForm.value.isFragile !== null\r\n ? this.addProductForm.value.isFragile\r\n : false\r\n );\r\n\r\n formData.append(\r\n \"IsReturnable\",\r\n this.addProductForm.value.isReturnable !== null\r\n ? this.addProductForm.value.isReturnable\r\n : false\r\n );\r\n\r\n const pWeight =\r\n typeof this.addProductForm.value.productDimensions.weight !== \"undefined\"\r\n ? this.addProductForm.value.productDimensions.weight\r\n : 0;\r\n const pLength =\r\n typeof this.addProductForm.value.productDimensions.length !== \"undefined\"\r\n ? this.addProductForm.value.productDimensions.length\r\n : 0;\r\n const pWidth =\r\n typeof this.addProductForm.value.productDimensions.width !== \"undefined\"\r\n ? this.addProductForm.value.productDimensions.width\r\n : 0;\r\n const pHeight =\r\n typeof this.addProductForm.value.productDimensions.height !== \"undefined\"\r\n ? this.addProductForm.value.productDimensions.height\r\n : 0;\r\n\r\n formData.append(\"ProductDimensions.Weight\", pWeight);\r\n formData.append(\"ProductDimensions.Length\", pLength);\r\n formData.append(\"ProductDimensions.Width\", pWidth);\r\n formData.append(\"ProductDimensions.Height\", pHeight);\r\n\r\n // Shipping\r\n\r\n const sWeight =\r\n typeof this.addProductForm.value.shipping.weight !== \"undefined\"\r\n ? this.addProductForm.value.shipping.weight\r\n : 0;\r\n const sLength =\r\n typeof this.addProductForm.value.shipping.length !== \"undefined\"\r\n ? this.addProductForm.value.shipping.length\r\n : 0;\r\n const sWidth =\r\n typeof this.addProductForm.value.shipping.width !== \"undefined\"\r\n ? this.addProductForm.value.shipping.width\r\n : 0;\r\n const sHeight =\r\n typeof this.addProductForm.value.shipping.height !== \"undefined\"\r\n ? this.addProductForm.value.shipping.height\r\n : 0;\r\n\r\n const sprocessingTime =\r\n typeof this.addProductForm.value.shipping.processingTime !== \"undefined\"\r\n ? this.addProductForm.value.shipping.processingTime\r\n : 0;\r\n\r\n formData.append(\"Shipping.ProcessingTime\", sprocessingTime);\r\n formData.append(\"Shipping.Weight\", sWeight);\r\n formData.append(\"Shipping.Length\", sLength);\r\n formData.append(\"Shipping.Width\", sWidth);\r\n formData.append(\"Shipping.Height\", sHeight);\r\n\r\n const isAssemblyRequired =\r\n this.addProductForm.value.IsAssemblyRequired !== null\r\n ? this.addProductForm.value.IsAssemblyRequired\r\n : false;\r\n formData.append(\"IsAssemblyRequired\", isAssemblyRequired);\r\n\r\n const AssemblyCharges =\r\n this.addProductForm.value.AssemblyCharges !== null\r\n ? this.addProductForm.value.AssemblyCharges\r\n : 0;\r\n formData.append(\r\n \"AssemblyCharges\",\r\n isAssemblyRequired === true ? AssemblyCharges : null\r\n );\r\n\r\n if (this.secondaryFileData.length > 0) {\r\n for (let i = 0; i < this.secondaryFileData.length; i++) {\r\n formData.append(\"SecondaryImage\", this.secondaryFileData[i]);\r\n }\r\n }\r\n\r\n if (this.addProductForm.value.productTags !== null) {\r\n this.addProductForm.value.productTags.forEach((singleTag) => {\r\n formData.append(\"ProductTagIds\", singleTag.id);\r\n });\r\n }\r\n\r\n this.product\r\n .add(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n const editUrl = `${this.config.STORE_URL}/product/edit/${data[\"data\"]}`;\r\n this.router.navigate([`${editUrl}`]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n}\r\n\r\nexport interface DropDownValues {\r\n brands: ProductBrand[];\r\n categoryLists: ProductCategory[];\r\n productLabels: ProductLabel[];\r\n productTags: ProductTag[];\r\n productTypes: ProductType[];\r\n themes: ProductTheme[];\r\n colorPalettes: ProductColorPalette[];\r\n productServiceType: ProductServiceType[];\r\n}\r\n","import { Component, OnInit, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { CategoryService } from \"common/services/store/category.service\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { FormGroup, Validators, FormBuilder, FormArray } from \"@angular/forms\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { defaultLongDateFormat } from \"ngx-bootstrap/chronos/locale/locale.class\";\r\nimport { TitleService } from \"common/services/title.service\";\r\n\r\n@Component({\r\n selector: \"app-action\",\r\n templateUrl: \"./action.component.html\",\r\n styleUrls: [\"./action.component.css\"],\r\n})\r\nexport class ActionComponent implements OnInit {\r\n action: string;\r\n id: number;\r\n languages: any;\r\n categoryData: any;\r\n\r\n actionForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n btnLable = \"AddProductSubCategory\";\r\n pageTitle = \"AddProductSubCategory\";\r\n displayOrderCounts = [];\r\n\r\n allMainCategories: MainCategoryList[] = [];\r\n\r\n cs = constEnv;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private lang: LanguageService,\r\n private ls: LoaderService,\r\n private categoryService: CategoryService,\r\n private alert: AlertService,\r\n private titleService: TitleService\r\n ) {\r\n this.action = route.snapshot.params.action;\r\n\r\n this.languages = this.lang.getAvailableLanguages();\r\n }\r\n\r\n ngOnInit() {\r\n this.document.body.classList.add(\"category-action-body\");\r\n\r\n const categoryURL = `${this.cs.STORE_URL}/sub-category`;\r\n\r\n switch (this.action) {\r\n case \"edit\":\r\n const id = this.route.snapshot.params.id;\r\n this.id = typeof id !== \"undefined\" ? id : 0;\r\n if (this.id <= 0) {\r\n this.router.navigate([categoryURL]);\r\n }\r\n\r\n this.btnLable = \"EditProductSubCategory\";\r\n this.pageTitle = \"EditProductSubCategory\";\r\n\r\n if (this.id > 0) {\r\n this.ls.showLoader();\r\n this.categoryService\r\n .subCategoryGet(this.id)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.categoryData = data[\"data\"];\r\n\r\n for (\r\n let i = 1;\r\n i <= this.categoryData.DisplayOrderNextValue;\r\n i++\r\n ) {\r\n this.displayOrderCounts.push(i);\r\n }\r\n\r\n this.actionForm\r\n .get(\"catID\")\r\n .setValue(this.categoryData.subCatId);\r\n this.actionForm\r\n .get(\"mainCateId\")\r\n .setValue(this.categoryData.catId);\r\n // this.actionForm.get('displayOrder').setValue(this.categoryData.DisplayOrder);\r\n\r\n const catNamesControls = this.actionForm.get(\"catNames\");\r\n\r\n this.languages.forEach((singleRow, index) => {\r\n const l_index = index;\r\n this.categoryData.languages.forEach((row) => {\r\n if (singleRow.id === row.langKey) {\r\n catNamesControls[\"controls\"][l_index]\r\n .get(\"catName\")\r\n .setValue(row.langValue);\r\n }\r\n });\r\n });\r\n\r\n this.ls.hideLoader();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n this.alert.danger(err.error.message);\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n break;\r\n\r\n case \"add\":\r\n break;\r\n\r\n default:\r\n this.router.navigate([categoryURL]);\r\n break;\r\n }\r\n\r\n this.actionForm = this.formBuilder.group({\r\n catID: 0,\r\n mainCateId: [null, Validators.required],\r\n catNames: this.formBuilder.array([]),\r\n displayOrder: [\"\"],\r\n });\r\n\r\n // if (this.action === 'edit') {\r\n // this.actionForm.get('displayOrder').setValidators([Validators.required]);\r\n // }\r\n\r\n this.titleService.setTitle(this.pageTitle);\r\n\r\n const langNames = this.actionForm.controls.catNames as FormArray;\r\n\r\n for (let i = 0; i < this.languages.length; i++) {\r\n if (this.languages[i].default_lang === \"1\") {\r\n langNames.push(\r\n this.formBuilder.group({\r\n catName: [\"\", Validators.required],\r\n lang_id: this.languages[i].id,\r\n defaultLang: this.languages[i].default_lang,\r\n })\r\n );\r\n } else {\r\n langNames.push(\r\n this.formBuilder.group({\r\n catName: [\"\"],\r\n lang_id: this.languages[i].id,\r\n defaultLang: this.languages[i].default_lang,\r\n })\r\n );\r\n }\r\n }\r\n\r\n this.getAllMainCategory();\r\n }\r\n\r\n getAllMainCategory() {\r\n this.ls.showLoader();\r\n this.categoryService\r\n .getAllMainCategories()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n const response = data as MainCategoryResponse;\r\n if (response.status) {\r\n this.allMainCategories = response.data;\r\n } else {\r\n this.alert.danger(response.message);\r\n }\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n trackByFn(index: any, item: any) {\r\n return index;\r\n }\r\n\r\n getValidity(i) {\r\n return (this.actionForm.get(\"catNames\") as FormArray).controls[i].invalid;\r\n }\r\n\r\n get f() {\r\n return this.actionForm.controls;\r\n }\r\n get c() {\r\n return this.f.catNames as FormArray;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n // stop here if form is invalid\r\n if (this.actionForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.ls.showLoader();\r\n\r\n let categoryName = \"\";\r\n const languages = [];\r\n this.actionForm.value.catNames.forEach((singleEle) => {\r\n if (singleEle.defaultLang === \"1\") {\r\n categoryName = singleEle.catName;\r\n }\r\n\r\n const lang = {\r\n LangKey: `${singleEle.lang_id}`,\r\n LangValue: `${singleEle.catName}`,\r\n };\r\n languages.push(lang);\r\n });\r\n\r\n // let formData = {};\r\n // if (this.actionForm.value.catID > 0) {\r\n // formData = {\r\n // catId: this.actionForm.value.mainCateId,\r\n // subCatId: this.actionForm.value.catID,\r\n // subCatName: categoryName,\r\n // languages,\r\n // // DisplayOrder: this.actionForm.value.displayOrder\r\n // };\r\n // } else {\r\n // formData = {\r\n // CatName: categoryName,\r\n // Languages: languages\r\n // };\r\n // }\r\n\r\n const formData = {\r\n catId: this.actionForm.value.mainCateId,\r\n subCatId: this.actionForm.value.catID,\r\n subCatName: categoryName,\r\n languages,\r\n };\r\n\r\n this.categoryService\r\n .subCategoeryAction(this.action, formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.ls.hideLoader();\r\n // setTimeout(() => {\r\n this.router.navigate([`${this.cs.STORE_URL}/product/sub-category`]);\r\n // }, 1000);\r\n\r\n // this.ls.hideLoader();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n this.alert.danger(err.error.message);\r\n this.ls.hideLoader();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface MainCategoryResponse {\r\n status: boolean;\r\n message: string;\r\n data: MainCategoryList[];\r\n}\r\n\r\ninterface MainCategoryList {\r\n categoryId: number;\r\n categoryName: string;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\nimport { ListComponent } from './list/list.component';\r\nimport { ActionComponent } from './action/action.component';\r\nimport { constEnv } from 'common/constants.env';\r\n\r\nconst routeBase = `${constEnv.storeEndPoint}/product`;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${routeBase}/sub-category`,\r\n children: [\r\n {\r\n path: ':action',\r\n children: [\r\n {path: ':id', component: ActionComponent},\r\n {path: '', component: ActionComponent}\r\n ]\r\n },\r\n {path: '', component: ListComponent}\r\n ],\r\n // canActivate: [AuthGuard]\r\n },\r\n // {path: `${routeStore}/category`, component: ListComponent}\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {})],\r\n exports: [RouterModule]\r\n})\r\nexport class CategoryRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\nimport { ComponentModule } from 'common/_components/components.module';\r\nimport { CategoryRoutingModule } from './category-routing.module';\r\n\r\nimport { ListComponent } from './list/list.component';\r\nimport { ActionComponent } from './action/action.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\nimport { DataTablesModule } from 'angular-datatables';\r\nimport { TemplateDefaultModule } from '../../../shared/template-default/template-default.module';\r\nimport { MaterialModule } from 'common/modules/material.module';\r\n\r\n@NgModule({\r\n declarations: [ListComponent, ActionComponent],\r\n imports: [\r\n CommonModule,\r\n CategoryRoutingModule,\r\n RouterModule,\r\n TranslateModule.forRoot(),\r\n ReactiveFormsModule,\r\n ComponentModule,\r\n DataTablesModule,\r\n TemplateDefaultModule,\r\n MaterialModule,\r\n NgSelectModule\r\n ],\r\n exports: [\r\n ListComponent\r\n ]\r\n})\r\nexport class CategoryModule { }\r\n","import {\r\n Component,\r\n OnInit,\r\n TemplateRef,\r\n ChangeDetectorRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { CategoryService } from \"common/services/store/category.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { first } from \"rxjs/operators\";\r\n\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\n\r\n// import { BsModalRef, BsModalService, ModalDirective } from 'ngx-bootstrap';\r\nimport { Subscription, combineLatest } from \"rxjs\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { ConfirmDialogComponent } from \"common/_components/confirm-dialog/confirm-dialog.component\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\n\r\n@Component({\r\n selector: \"app-list\",\r\n templateUrl: \"./list.component.html\",\r\n styleUrls: [\"./list.component.css\"],\r\n})\r\nexport class ListComponent implements OnInit {\r\n categoryLists: any;\r\n hasCategory = false;\r\n\r\n // modalRef: BsModalRef;\r\n subscriptions: Subscription[] = [];\r\n\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n selectedCatId = 0;\r\n\r\n searchForm: FormGroup;\r\n submitted = false;\r\n\r\n FiltersOptions = [{ optionKey: \"CategoryName\", optionValue: \"CategoryName\" }];\r\n\r\n config = constEnv;\r\n\r\n constructor(\r\n private catService: CategoryService,\r\n private alert: AlertService,\r\n private loader: LoaderService,\r\n // private modalService: BsModalService,\r\n private changeDetection: ChangeDetectorRef,\r\n private fb: FormBuilder,\r\n private titleService: TitleService,\r\n private dialog: MatDialog\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"SubCategoryName\");\r\n this.makeSearchFrom();\r\n\r\n this.createDataTable();\r\n }\r\n\r\n makeSearchFrom() {\r\n this.searchForm = this.fb.group({\r\n filterBy: [this.FiltersOptions[0].optionKey, Validators.required],\r\n filterText: [\"\", Validators.required],\r\n });\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: 2,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n const searchparams = this.searchForm.value;\r\n if (searchparams.filterText !== \"\") {\r\n dataTablesParameters.search.column = searchparams.filterBy;\r\n dataTablesParameters.search.value = searchparams.filterText;\r\n }\r\n\r\n this.catService\r\n .getSubCategoryAll(dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n let paging: any;\r\n if (data[\"status\"] === true) {\r\n this.categoryLists = data[\"data\"];\r\n if (this.categoryLists.length > 0) {\r\n this.hasCategory = true;\r\n } else {\r\n this.hasCategory = false;\r\n }\r\n paging = JSON.parse(data[\"paging\"]);\r\n // paging = { totalCount: this.categoryLists.length, totalRowsAfterFiltering: this.categoryLists.length };\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.categoryLists = [];\r\n this.hasCategory = false;\r\n }\r\n\r\n if (this.categoryLists.length > 0) {\r\n this.hasCategory = true;\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n\r\n this.loader.hideLoader();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.hasCategory = false;\r\n this.categoryLists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n\r\n this.loader.hideLoader();\r\n }\r\n );\r\n },\r\n // columns: [{ data: 'id' }, { data: 'firstName' }, { data: 'lastName' }]\r\n };\r\n }\r\n\r\n openModal(template: TemplateRef, categoryId) {\r\n // const _combine = combineLatest(\r\n // this.modalService.onShow,\r\n // this.modalService.onShown,\r\n // this.modalService.onHide,\r\n // this.modalService.onHidden\r\n // ).subscribe(() => this.changeDetection.markForCheck());\r\n // this.subscriptions.push(\r\n // this.modalService.onShow.subscribe((reason: string) => {\r\n // this.selectedCatId = categoryId;\r\n // })\r\n // );\r\n // this.subscriptions.push(\r\n // this.modalService.onHidden.subscribe((reason: string) => {\r\n // this.selectedCatId = 0;\r\n // this.unsubscribe();\r\n // })\r\n // );\r\n // this.subscriptions.push(_combine);\r\n // this.modalRef = this.modalService.show(template, { class: 'modal-sm' });\r\n }\r\n\r\n unsubscribe() {\r\n this.subscriptions.forEach((subscription: Subscription) => {\r\n subscription.unsubscribe();\r\n });\r\n this.subscriptions = [];\r\n }\r\n\r\n deleteSubCategory(subCateId) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm\",\r\n message: \"DeleteConfirm\",\r\n },\r\n });\r\n\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n if (subCateId > 0) {\r\n this.loader.showLoader();\r\n this.catService.deleteSubCategory(subCateId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n // this.modalRef.hide();\r\n this.datatableElement.dtInstance.then(\r\n // (dtInstance: DataTables.Api) => dtInstance.draw()\r\n (dtInstance) => dtInstance.draw()\r\n );\r\n this.loader.hideLoader();\r\n // this.loadCategoryData();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n // this.modalRef.hide();\r\n this.loader.hideLoader();\r\n }\r\n );\r\n }\r\n }\r\n });\r\n }\r\n\r\n changeStatus(subCateId, catStatus) {\r\n if (subCateId > 0) {\r\n this.loader.showLoader();\r\n this.catService\r\n .changeStatusSubCategory(subCateId, catStatus ? 1 : 0)\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.datatableElement.dtInstance.then(\r\n // (dtInstance: DataTables.Api) => dtInstance.draw()\r\n (dtInstance) => dtInstance.draw()\r\n );\r\n this.loader.hideLoader();\r\n // this.loadCategoryData();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.loader.hideLoader();\r\n }\r\n );\r\n }\r\n }\r\n\r\n get f() {\r\n return this.searchForm.controls;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.searchForm.invalid) {\r\n return;\r\n }\r\n\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) => dtInstance.draw());\r\n }\r\n\r\n resetFrom() {\r\n this.submitted = false;\r\n // this.searchForm.reset();\r\n\r\n // this.searchForm.get('filterBy').setValue( this.productFiltersOptions[0].optionKey );\r\n this.searchForm.get(\"filterText\").setValue(\"\");\r\n\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) => dtInstance.draw());\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from \"@angular/forms\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\n\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport {\r\n AttributeArray,\r\n EditAttributeArray,\r\n ProductAttributeValueList,\r\n ProductService,\r\n} from \"common/services/store/product.service\";\r\nimport { ProductAttribute } from \"common/_models/store/productAttribute.model\";\r\nimport { Observable, of, Subject } from \"rxjs\";\r\nimport {\r\n catchError,\r\n distinctUntilChanged,\r\n first,\r\n switchMap,\r\n tap,\r\n} from \"rxjs/operators\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ConfirmDialogComponent } from \"common/_components/confirm-dialog/confirm-dialog.component\";\r\n\r\n@Component({\r\n selector: \"app-attributes\",\r\n templateUrl: \"./attributes.component.html\",\r\n styleUrls: [\"./attributes.component.css\"],\r\n})\r\nexport class AttributesComponent implements OnInit {\r\n config = constEnv;\r\n productEditUrl: string;\r\n productListUrl: string;\r\n\r\n loading = false;\r\n submitted = false;\r\n\r\n productId = 0;\r\n\r\n attributes: ProductAttribute[] = [];\r\n\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n @ViewChild(\"autoShownModal\", { static: false })\r\n autoShownModal: ModalDirective;\r\n isModalShown = false;\r\n\r\n @ViewChild(\"editAttributeModal\", { static: false })\r\n editAttributeModal: ModalDirective;\r\n isEditAttributeModalShown = false;\r\n\r\n @ViewChild(\"imageFileInput\", { static: true }) primaryFileInput: ElementRef;\r\n imageFileData: File = null;\r\n imageFileName = \"\";\r\n defaultImageFileName = \"Choose File\";\r\n imagePreviewUrl: any = null;\r\n\r\n editAttributeImageData: File[] = [];\r\n editAttrImageNames = [];\r\n\r\n modalTitle = \"\";\r\n\r\n attributesLists: AttributeArray[];\r\n attributeListValues: AttributeArray[];\r\n\r\n attributesLists$: Observable;\r\n attributesLoading = false;\r\n attributesInput$ = new Subject();\r\n selectedAttributes: AttributeArray[] = [];\r\n\r\n selectedSingleAttribute: AttributeArray;\r\n attrColor = \"#ffffff\";\r\n\r\n editAttributeValueLists: EditAttributeArray = null;\r\n\r\n attributeForm: FormGroup;\r\n editAttributeForm: FormGroup;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private alert: AlertService,\r\n private titleService: TitleService,\r\n private translate: TranslateService,\r\n private ls: LanguageService,\r\n private product: ProductService,\r\n private isLoadingService: IsLoadingService,\r\n private dialog: MatDialog\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Product Attributes\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.productListUrl = `${this.config.STORE_URL}/product/lists`;\r\n\r\n const id = this.route.snapshot.params.id;\r\n this.productId = typeof id !== \"undefined\" ? id : 0;\r\n if (this.productId <= 0) {\r\n this.router.navigate([this.productListUrl]);\r\n }\r\n\r\n this.productEditUrl = `${this.config.STORE_URL}/product/edit/${this.productId}`;\r\n\r\n this.selectedSingleAttribute = {\r\n id: 0,\r\n value: \"\",\r\n swatcheType: \"\",\r\n swatcheTypeId: 0,\r\n } as AttributeArray;\r\n\r\n this.loadAttributes();\r\n this.createAttributeForm();\r\n }\r\n\r\n createAttributeForm() {\r\n this.attributeForm = this.fb.group({\r\n attributeId: [null, Validators.required],\r\n attributeValues: [null, Validators.required],\r\n attributeColor: [null],\r\n attributeImage: [null],\r\n swatcheTypeId: [0],\r\n });\r\n\r\n this.editAttributeForm = this.fb.group({\r\n attributeId: [null],\r\n swatcheTypeId: [null],\r\n attributeValueLists: this.fb.array([]),\r\n });\r\n }\r\n\r\n get f() {\r\n return this.editAttributeForm.controls;\r\n }\r\n get a() {\r\n return this.f.attributeValueLists as FormArray;\r\n }\r\n\r\n attributeEditFromValue(attributeValue: ProductAttributeValueList) {\r\n this.a.push(\r\n this.fb.group({\r\n id: [attributeValue.id],\r\n productAttributeValue: [attributeValue.productAttributeValue],\r\n swatcheTypeValue: [attributeValue.swatcheTypeValue],\r\n attributrColor: [null],\r\n attributeImage: [null],\r\n })\r\n );\r\n }\r\n\r\n loadAttributes() {\r\n this.isLoadingService.add();\r\n this.product.getProductAttributes(this.productId).subscribe((data) => {\r\n const response = data as Response;\r\n\r\n if (response.status === true) {\r\n this.attributes = response.data as ProductAttribute[];\r\n this.isLoadingService.remove();\r\n } else {\r\n this.alert.danger(response.message);\r\n this.router.navigate([this.productListUrl]);\r\n }\r\n });\r\n }\r\n\r\n showModal(action: string, i: number = 0): void {\r\n let attrId = 0;\r\n if (action === \"edit\") {\r\n this.modalTitle = \"Edit Attribute\";\r\n attrId = this.attributes[i].productAttributeId;\r\n this.getEditAttributesValues(attrId);\r\n } else {\r\n this.loadAutocompleteAttributes();\r\n this.modalTitle = \"Add Attribute\";\r\n // this.product.getAttributeList( this.productId, attrId )\r\n // .subscribe(\r\n // data => {\r\n // this.attributesLists = data;\r\n // this.isModalShown = true;\r\n // },\r\n // err => {\r\n // if (typeof err.error !== 'undefined') {\r\n // const msg = (typeof err.error.Message !== 'undefined') ? err.error.Message : err.error.message;\r\n // this.alert.danger(msg);\r\n // }\r\n // }\r\n // );\r\n\r\n this.isModalShown = true;\r\n }\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n edithideModal(): void {\r\n this.editAttributeModal.hide();\r\n }\r\n\r\n onHidden(): void {\r\n this.isModalShown = false;\r\n this.isEditAttributeModalShown = false;\r\n this.attributeForm.reset();\r\n this.attributesLists = [];\r\n this.attributeListValues = [];\r\n this.selectedSingleAttribute = {\r\n id: 0,\r\n value: \"\",\r\n swatcheType: \"\",\r\n swatcheTypeId: 0,\r\n } as AttributeArray;\r\n\r\n this.attributesLoading = false;\r\n this.attributesInput$ = new Subject();\r\n this.selectedAttributes = [];\r\n this.attributeForm.get(\"attributeColor\").clearValidators();\r\n this.attributeForm.get(\"attributeImage\").clearValidators();\r\n this.imageFileData = null;\r\n this.imageFileName = this.defaultImageFileName;\r\n this.editAttributeValueLists = null;\r\n\r\n this.editAttributeForm.reset();\r\n this.clearFormArray(this.a);\r\n this.editAttributeImageData = [];\r\n this.editAttrImageNames = [];\r\n }\r\n\r\n clearFormArray = (formArray: FormArray) => {\r\n while (formArray.length !== 0) {\r\n formArray.removeAt(0);\r\n }\r\n };\r\n\r\n deleteAttribute(attributeId: number) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm\",\r\n message: \"DeleteConfirm\",\r\n },\r\n });\r\n\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n this.isLoadingService.add();\r\n this.product\r\n .deleteAttribute(attributeId)\r\n .pipe()\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.loadAttributes();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error.Message !== \"undefined\") {\r\n this.alert.danger(err.error.Message);\r\n } else if (typeof err.error !== \"undefined\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n trackByFnAttributes(item: ProductAttribute) {\r\n return item.id;\r\n }\r\n\r\n getAttributeValues($event: AttributeArray) {\r\n this.attributeListValues = [];\r\n this.attributeForm.get(\"attributeValues\").patchValue([]);\r\n this.attributeForm.get(\"swatcheTypeId\").setValue(0);\r\n this.attributeForm.get(\"attributeColor\").setValue(\"\");\r\n this.attributeForm.get(\"attributeColor\").clearValidators();\r\n this.attributeForm.get(\"attributeImage\").setValue(\"\");\r\n this.attributeForm.get(\"attributeImage\").clearValidators();\r\n this.attrColor = \"#ffffff\";\r\n this.imageFileData = null;\r\n this.imageFileName = this.defaultImageFileName;\r\n this.selectedSingleAttribute = {\r\n id: 0,\r\n value: \"\",\r\n swatcheType: \"\",\r\n swatcheTypeId: 0,\r\n } as AttributeArray;\r\n\r\n if (typeof $event !== \"undefined\") {\r\n this.selectedSingleAttribute = $event;\r\n if ($event.swatcheTypeId === 3) {\r\n this.attributeForm\r\n .get(\"attributeColor\")\r\n .setValidators([Validators.required]);\r\n }\r\n\r\n if ($event.swatcheTypeId === 2) {\r\n this.attributeForm\r\n .get(\"attributeImage\")\r\n .setValidators([Validators.required]);\r\n }\r\n\r\n this.attributeForm.get(\"swatcheTypeId\").setValue($event.swatcheTypeId);\r\n\r\n this.product\r\n .getAttributeList(this.productId, $event.id)\r\n .subscribe((data) => {\r\n this.attributeListValues = data;\r\n });\r\n }\r\n }\r\n\r\n imageFileProgress(fileInput: any) {\r\n this.imageFileData = fileInput.target.files[0] as File;\r\n\r\n const mimeType = this.imageFileData.type;\r\n this.imageFileName =\r\n typeof this.imageFileData !== \"undefined\"\r\n ? this.imageFileData.name\r\n : this.defaultImageFileName;\r\n // const reader = new FileReader();\r\n // reader.readAsDataURL(this.imageFileData);\r\n // reader.onload = (_event) => {\r\n // this.imagePreviewUrl = reader.result;\r\n // this.editProductForm.get('primaryImage').setValue({\r\n // filename: this.primaryFileData.name,\r\n // filetype: this.primaryFileData.type,\r\n // value: this.primaryPreviewUrl.split(',')[1]\r\n // });\r\n // };\r\n }\r\n\r\n loadAutocompleteAttributes() {\r\n this.attributesLists$ = this.attributesInput$.pipe(\r\n distinctUntilChanged(),\r\n tap(() => (this.attributesLoading = true)),\r\n switchMap((term) =>\r\n this.product.getAttributeList(this.productId, 0, term).pipe(\r\n catchError(() => of([])), // empty list on error\r\n tap(() => (this.attributesLoading = false))\r\n )\r\n )\r\n );\r\n }\r\n\r\n getEditAttributesValues(attrId) {\r\n this.editAttributeForm.reset();\r\n this.clearFormArray(this.a);\r\n this.editAttributeImageData = [];\r\n this.editAttrImageNames = [];\r\n\r\n this.product.getEditAttributesAndValues(this.productId, attrId).subscribe(\r\n (data) => {\r\n const res = data as EditAttributeResponse;\r\n\r\n if (res.status === true) {\r\n this.editAttributeValueLists = res.data;\r\n\r\n this.editAttributeForm\r\n .get(\"attributeId\")\r\n .setValue(this.editAttributeValueLists.productAttributeId);\r\n this.editAttributeForm\r\n .get(\"swatcheTypeId\")\r\n .setValue(this.editAttributeValueLists.swatcheTypeId);\r\n\r\n this.editAttributeValueLists.productAttValueList.forEach((single) => {\r\n this.attributeEditFromValue(single);\r\n });\r\n\r\n this.isEditAttributeModalShown = true;\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n }\r\n );\r\n }\r\n\r\n colorPickerChange($event) {\r\n this.attributeForm.get(\"attributeColor\").setValue($event);\r\n this.attrColor = $event;\r\n }\r\n\r\n editColorPickerChange($event, i) {\r\n (\r\n (this.editAttributeForm.get(\"attributeValueLists\") as FormArray).at(\r\n i\r\n ) as FormGroup\r\n )\r\n .get(\"attributrColor\")\r\n .setValue($event);\r\n }\r\n\r\n editImageFileProgress(fileInput: any, i) {\r\n const fileInfo = fileInput.target.files[0] as File;\r\n this.editAttributeImageData[i] = fileInfo;\r\n\r\n this.editAttrImageNames[i] =\r\n typeof fileInfo !== \"undefined\"\r\n ? fileInfo.name\r\n : this.defaultImageFileName;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.attributeForm.invalid) {\r\n return;\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append(\"ProductAttributeId\", this.attributeForm.value.attributeId);\r\n formData.append(\r\n \"ProductAttributeValueIds\",\r\n this.attributeForm.value.attributeValues\r\n );\r\n formData.append(\"ProductId\", this.productId.toString());\r\n formData.append(\"SwatcheTypeId\", this.attributeForm.value.swatcheTypeId);\r\n formData.append(\r\n \"SwatcheTypeValue\",\r\n this.attributeForm.value.attributeColor\r\n );\r\n formData.append(\"Image\", this.imageFileData);\r\n\r\n this.isLoadingService.add();\r\n this.product\r\n .addProductAttribute(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n this.hideModal();\r\n this.loadAttributes();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n deleteAttributeValue(deleteId: number, attributeId: number) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm\",\r\n message: \"DeleteConfirm\",\r\n },\r\n });\r\n\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n this.isLoadingService.add();\r\n this.product\r\n .deleteAttributeValue(deleteId)\r\n .pipe()\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.getEditAttributesValues(attributeId);\r\n this.loadAttributes();\r\n this.edithideModal();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error.Message !== \"undefined\") {\r\n this.alert.danger(err.error.Message);\r\n } else if (typeof err.error !== \"undefined\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n onEditAttributeSubmit() {\r\n if (this.editAttributeForm.invalid) {\r\n return;\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append(\r\n \"ProductAttributeId\",\r\n this.editAttributeForm.value.attributeId\r\n );\r\n formData.append(\"ProductId\", this.productId.toString());\r\n formData.append(\r\n \"SwatcheTypeId\",\r\n this.editAttributeForm.value.swatcheTypeId\r\n );\r\n\r\n this.editAttributeForm.value.attributeValueLists.forEach(\r\n (singleEle, index) => {\r\n formData.append(\"Id\", singleEle.id);\r\n\r\n const imageData =\r\n typeof this.editAttributeImageData[index] !== \"undefined\"\r\n ? this.editAttributeImageData[index]\r\n : \"\";\r\n\r\n if (this.editAttributeForm.value.swatcheTypeId === 3) {\r\n formData.append(\r\n \"SwatcheTypeValue\",\r\n singleEle.attributrColor !== null\r\n ? singleEle.attributrColor\r\n : singleEle.swatcheTypeValue\r\n );\r\n } else if (this.editAttributeForm.value.swatcheTypeId === 2) {\r\n if (imageData === \"\") {\r\n formData.append(\"SwatcheTypeValue\", singleEle.swatcheTypeValue);\r\n formData.append(\"Image\", \"\");\r\n } else {\r\n formData.append(\"SwatcheTypeValue\", \"\");\r\n formData.append(\r\n \"Image\",\r\n typeof this.editAttributeImageData[index] !== \"undefined\"\r\n ? this.editAttributeImageData[index]\r\n : \"\"\r\n );\r\n }\r\n }\r\n }\r\n );\r\n\r\n this.isLoadingService.add();\r\n this.product\r\n .editProductAttribute(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n this.edithideModal();\r\n this.loadAttributes();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n}\r\n\r\nexport interface Response {\r\n status: boolean;\r\n status_code: number;\r\n message: string;\r\n data: ProductAttribute[];\r\n}\r\n\r\nexport interface EditAttributeResponse {\r\n status: boolean;\r\n status_code: number;\r\n message: string;\r\n data: EditAttributeArray;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { MaterialModule } from 'common/modules/material.module';\r\nimport { ComponentModule } from 'common/_components/components.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { TemplateDefaultModule } from '../../../shared/template-default/template-default.module';\r\n\r\nimport { EditComponent } from './edit/edit.component';\r\nimport { AngularMultiSelectModule } from 'angular2-multiselect-dropdown';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { DataTablesModule } from 'angular-datatables';\r\n\r\nimport { AttributesComponent } from './attributes/attributes.component';\r\nimport { VariationsComponent } from './variations/variations.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { ColorPickerModule } from 'ngx-color-picker';\r\nimport { MyDirectiveModule } from 'common/directives/my-directive.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [EditComponent, AttributesComponent, VariationsComponent],\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n RouterModule,\r\n TranslateModule.forRoot(),\r\n ReactiveFormsModule,\r\n TemplateDefaultModule,\r\n MaterialModule,\r\n AngularMultiSelectModule,\r\n ModalModule.forRoot(),\r\n DataTablesModule,\r\n NgSelectModule,\r\n ComponentModule,\r\n ColorPickerModule,\r\n MyDirectiveModule\r\n ]\r\n})\r\nexport class EditProductModule { }\r\n","import {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from \"@angular/forms\";\r\nimport {\r\n catchError,\r\n distinctUntilChanged,\r\n first,\r\n switchMap,\r\n tap,\r\n} from \"rxjs/operators\";\r\nimport {\r\n Dimensions,\r\n ImageCroppedEvent,\r\n ImageTransform,\r\n} from \"ngx-image-cropper\";\r\nimport { base64ToFile } from \"ngx-image-cropper\";\r\nimport { Observable, of, Subject, Subscription } from \"rxjs\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport {\r\n ProductService,\r\n Specification,\r\n} from \"common/services/store/product.service\";\r\nimport { ProductBrand } from \"common/_models/store/productBrand.model\";\r\nimport { ProductCategory } from \"common/_models/store/productCategory.model\";\r\nimport { ProductLabel } from \"common/_models/store/productLabel.model\";\r\nimport { ProductTag } from \"common/_models/store/productTag.model\";\r\nimport { ProductType } from \"common/_models/store/productType.model\";\r\nimport {\r\n LinkedProducts,\r\n Product,\r\n ProductLinked,\r\n ProductSpecification,\r\n} from \"common/_models/store/product.model\";\r\nimport { NgSelectComponent } from \"@ng-select/ng-select\";\r\nimport { ConfirmDialogComponent } from \"common/_components/confirm-dialog/confirm-dialog.component\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ProductTheme } from \"common/_models/store/productTheme.model\";\r\nimport { ProductColorPalette } from \"common/_models/store/productColorPalette.model\";\r\nimport { ProductServiceType } from \"common/_models/store/productServiceType.model\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\nimport { SpecificationService } from \"common/services/store/specification.service\";\r\n\r\n@Component({\r\n selector: \"app-edit\",\r\n templateUrl: \"./edit.component.html\",\r\n styleUrls: [\"./edit.component.css\"],\r\n})\r\nexport class EditComponent implements OnInit {\r\n config = constEnv;\r\n productEditUrl: string;\r\n productListUrl: string;\r\n\r\n specificationForm: FormGroup;\r\n editProductForm: FormGroup;\r\n loading = false;\r\n sloading = false;\r\n submitted = false;\r\n\r\n @ViewChild(\"primaryFileInput\", { static: true }) primaryFileInput: ElementRef;\r\n primaryFileData: File = null;\r\n primaryPreviewUrl: any = null;\r\n\r\n @ViewChild(\"secondaryFileInput\", { static: true })\r\n secondaryFileInput: ElementRef;\r\n secondaryFileData: File[] = [];\r\n secondaryPreviewUrl: any = [];\r\n secondaryImageUrl: any = [];\r\n removeSecondaryImageIds: number[] = [];\r\n\r\n removeProductTagIds: number[] = [];\r\n\r\n @ViewChild(\"topViewInput\", { static: true }) topViewInput: ElementRef;\r\n topViewInputData: File = null;\r\n topViewPreviewUrl: any = null;\r\n topViewError = \"\";\r\n topViewUploadedFile: string = \"\";\r\n topViewUploadedFileId: number = 0;\r\n\r\n @ViewChild(\"augmentedViewInput\", { static: true })\r\n augmentedViewInput: ElementRef;\r\n augmentedViewInputData: File = null;\r\n augmentedViewPreviewUrl: any = null;\r\n augmentedViewError = \"\";\r\n augmentedViewUploadedFile: string = \"\";\r\n augmentedViewUploadedFileId: number = 0;\r\n\r\n @ViewChild(\"threeDViewInput\", { static: true }) threeDViewInput: ElementRef;\r\n threeDViewInputData: File = null;\r\n threeDViewPreviewUrl: any = null;\r\n threeDViewError = \"\";\r\n threeDViewUploadedFile: string = \"\";\r\n threeDViewUploadedFileId: number = 0;\r\n\r\n defaultLanguage: any;\r\n allLanguages: any;\r\n availableLangs = [];\r\n\r\n productId = 0;\r\n productData: Product;\r\n productCatId = 0;\r\n\r\n productSpecifications: ProductSpecification[] = [];\r\n hideSpecificationFieldOnPopup = false;\r\n specPopupTitle = \"\";\r\n\r\n isHideInvenrory = false;\r\n\r\n dropDownValues: DropDownValues;\r\n subCategories: ProductCategory[] = [];\r\n\r\n recommandedProducts$: Observable;\r\n recommandedProductsLoading = false;\r\n recommandedProductsInput$ = new Subject();\r\n selectedRecommandedProducts: ProductLinked[] = [];\r\n\r\n crossSellProducts$: Observable;\r\n crossSellProductsLoading = false;\r\n crossSellProductsInput$ = new Subject();\r\n selectedCrossSellProducts: ProductLinked[] = [];\r\n\r\n removeLinkedProduct: LinkedProducts;\r\n\r\n @ViewChild(\"autoShownModal\", { static: false })\r\n autoShownModal: ModalDirective;\r\n isModalShown = false;\r\n\r\n specificationLists: Specification[];\r\n specificationListValues: Specification[];\r\n\r\n @ViewChild(\"ngSelectComponent\", { static: true })\r\n ngSelectComponent: NgSelectComponent;\r\n @ViewChild(\"ngCrossProductComponent\", { static: true })\r\n ngCrossProductComponent: NgSelectComponent;\r\n\r\n sellingPrice: Number = 0;\r\n\r\n PRIMARY_IMAGE = 1;\r\n SECONDARY_IMAGE = 2;\r\n TOPVIEW_IMAGE = 4;\r\n AUGMENTED_VIEW = 5;\r\n THREE_VIEW = 6;\r\n\r\n linkedProductMaxLimit = 10;\r\n specificationLength: string;\r\n // @ViewChild(NgSelectComponent,{static:false}) ngSelectComponent: NgSelectComponent;\r\n\r\n currentDate = new Date();\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private alert: AlertService,\r\n private titleService: TitleService,\r\n private translate: TranslateService,\r\n private isLoadingService: IsLoadingService,\r\n private ls: LanguageService,\r\n private product: ProductService,\r\n private dialog: MatDialog,\r\n private specification: SpecificationService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Edit Product\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.productEditUrl = `${this.config.STORE_URL}/product/edit`;\r\n this.productListUrl = `${this.config.STORE_URL}/product/lists`;\r\n\r\n const id = this.route.snapshot.params.id;\r\n this.productId = typeof id !== \"undefined\" ? id : 0;\r\n if (this.productId <= 0) {\r\n this.router.navigate([this.productListUrl]);\r\n }\r\n\r\n this.dropDownValues = {\r\n categoryLists: [],\r\n brands: [],\r\n productTags: [],\r\n productLabels: [],\r\n } as DropDownValues;\r\n\r\n this.removeLinkedProduct = {\r\n recommendedProduct: [],\r\n crossSellProduct: [],\r\n } as LinkedProducts;\r\n\r\n this.secondaryImageUrl = [];\r\n\r\n this.defaultLanguage = this.ls.getDefaultLanguage();\r\n this.allLanguages = this.ls.getAvailableLanguages();\r\n this.makeForm();\r\n this.loadDropDownValues();\r\n this.getProductDetail();\r\n }\r\n\r\n loadDropDownValues() {\r\n this.isLoadingService.add();\r\n this.product.getDropDownValues().subscribe((data) => {\r\n const dataValues = data[\"data\"];\r\n\r\n this.dropDownValues = this.product.getProductDropDownModels(\r\n dataValues\r\n ) as DropDownValues;\r\n\r\n this.isLoadingService.remove();\r\n });\r\n }\r\n\r\n getProductDetail() {\r\n this.isLoadingService.add();\r\n this.product.get(this.productId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.productData = data[\"data\"] as Product;\r\n this.setFormValue(this.productData);\r\n this.isLoadingService.remove();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.router.navigate([this.productListUrl]);\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.router.navigate([this.productListUrl]);\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n makeForm() {\r\n this.editProductForm = this.fb.group(\r\n {\r\n productId: [null],\r\n productType: [null, Validators.required],\r\n serviceTypeId: [null, Validators.required],\r\n categoryId: [null, Validators.required],\r\n subCategory: [null],\r\n productName: [\"\", Validators.required],\r\n description: [\"\"],\r\n defaultLanguageId: [\"\"],\r\n brandId: [null, Validators.required],\r\n productTags: [null],\r\n itemTagId: [null],\r\n price: [\"\", Validators.required],\r\n offerAmount: [\"\"],\r\n primaryImage: null,\r\n secondaryImage: null,\r\n videoUrl: [\"\"],\r\n theme: [null, Validators.required],\r\n colorPalette: [null, Validators.required],\r\n isFragile: [null],\r\n isReturnable: [null],\r\n IsAssemblyRequired: [null],\r\n AssemblyCharges: [0],\r\n\r\n languagesArray: this.fb.array([]),\r\n productDimensions: this.fb.group({\r\n weight: [null, Validators.required],\r\n length: [null, Validators.required],\r\n width: [null, Validators.required],\r\n height: [null, Validators.required],\r\n }),\r\n inventory: this.fb.group({\r\n sku: null,\r\n qty: null,\r\n productStock: null,\r\n soldIndividually: null,\r\n }),\r\n shipping: this.fb.group({\r\n processingTime: null,\r\n weight: null,\r\n length: null,\r\n width: null,\r\n height: null,\r\n }),\r\n extra: this.fb.group({\r\n manufacturingDate: null,\r\n warranty: null,\r\n isFreeReturnPolicy: null,\r\n AdditionalPackingCharges: null,\r\n SpaceTypeId: null,\r\n // isInstallmentAvailable: null,\r\n }),\r\n linkedProducts: this.fb.group({\r\n recommendedProduct: null,\r\n crossSellProduct: null,\r\n }),\r\n },\r\n {\r\n validators: [\r\n // CustomValidator.OnlyZeroNotAllowed(\"AssemblyCharges\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"productDimensions.weight\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"productDimensions.length\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"productDimensions.width\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"productDimensions.height\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"shipping.weight\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"shipping.length\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"shipping.width\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"shipping.height\"),\r\n ],\r\n }\r\n );\r\n\r\n this.addAvailableLanguages();\r\n\r\n this.specificationForm = this.fb.group({\r\n productId: [this.productId],\r\n specification: [null, Validators.required],\r\n specificationValue: [null, Validators.required],\r\n deletedSpecificationValue: [null],\r\n });\r\n }\r\n\r\n setFormValue(productData: Product) {\r\n this.editProductForm\r\n .get(\"serviceTypeId\")\r\n .setValue(productData.serviceTypeId);\r\n this.editProductForm.get(\"productId\").setValue(productData.productId);\r\n this.editProductForm.get(\"productType\").setValue(productData.itemTypeId);\r\n this.editProductForm.get(\"categoryId\").setValue(productData.categoryId);\r\n this.editProductForm.get(\"brandId\").setValue(productData.brandId);\r\n this.editProductForm\r\n .get(\"itemTagId\")\r\n .setValue(productData.itemTagId !== 0 ? productData.itemTagId : null);\r\n this.editProductForm.get(\"productTags\").setValue(productData.productTagIds);\r\n this.editProductForm.get(\"price\").setValue(productData.productPrice);\r\n this.editProductForm\r\n .get(\"offerAmount\")\r\n .setValue(productData.productOfferAmt);\r\n this.editProductForm.get(\"videoUrl\").setValue(productData.videoURL);\r\n this.editProductForm.get(\"theme\").setValue(productData.themeId);\r\n this.editProductForm\r\n .get(\"colorPalette\")\r\n .setValue(productData.colorPaletteId);\r\n this.editProductForm.get(\"isFragile\").setValue(productData.isFragile);\r\n this.editProductForm.get(\"isReturnable\").setValue(productData.isReturnable);\r\n\r\n this.editProductForm\r\n .get(\"IsAssemblyRequired\")\r\n .setValue(productData.isAssemblyRequired);\r\n this.editProductForm\r\n .get(\"AssemblyCharges\")\r\n .setValue(productData.assemblyCharges);\r\n\r\n const itemType = productData.itemTypeId;\r\n if (itemType === 2) {\r\n this.editProductForm.get(\"price\").setValidators(null);\r\n this.editProductForm.get(\"offerAmount\").setValidators(null);\r\n // this.editProductForm.get(\"sellingPrice\").setValidators(null);\r\n this.editProductForm.get(\"price\").updateValueAndValidity();\r\n this.editProductForm.get(\"offerAmount\").updateValueAndValidity();\r\n // this.editProductForm.get(\"sellingPrice\").updateValueAndValidity();\r\n }\r\n\r\n this.sellingPrice = 0;\r\n const price = productData.productPrice;\r\n const per =\r\n productData.productOfferAmt > 0 ? productData.productOfferAmt : 0;\r\n if (per > 0) {\r\n this.sellingPrice = price - (price * per) / 100;\r\n } else {\r\n this.sellingPrice = productData.productPrice;\r\n }\r\n\r\n this.product\r\n .getSubCategortLists(productData.categoryId)\r\n .subscribe((data) => {\r\n if (data[\"data\"] !== null) {\r\n const dataValues = data[\"data\"];\r\n\r\n this.subCategories = dataValues;\r\n\r\n this.editProductForm\r\n .get(\"subCategory\")\r\n .setValidators(Validators.required);\r\n\r\n if (this.subCategories.length > 0) {\r\n this.editProductForm\r\n .get(\"subCategory\")\r\n .setValue(productData.subCategoryId);\r\n }\r\n } else {\r\n this.subCategories = [];\r\n }\r\n this.isLoadingService.remove();\r\n });\r\n\r\n // this.editProductForm.controls.productType.disable();\r\n this.editProductForm.controls.categoryId.disable();\r\n\r\n this.isHideInvenrory = productData.itemTypeId === 2 ? true : false;\r\n\r\n this.editProductForm.patchValue({\r\n inventory: {\r\n sku: productData.inventory !== null ? productData.inventory.sku : null,\r\n qty: productData.inventory !== null ? productData.inventory.qty : null,\r\n productStock:\r\n productData.inventory !== null\r\n ? productData.inventory.productStock\r\n : null,\r\n soldIndividually:\r\n productData.inventory !== null\r\n ? productData.inventory.soldIndividually\r\n : null,\r\n },\r\n productDimensions: {\r\n weight:\r\n productData.productDimensions !== null\r\n ? productData.productDimensions.weight\r\n : \"\",\r\n length:\r\n productData.productDimensions !== null\r\n ? productData.productDimensions.length\r\n : \"\",\r\n width:\r\n productData.productDimensions !== null\r\n ? productData.productDimensions.width\r\n : \"\",\r\n height:\r\n productData.productDimensions !== null\r\n ? productData.productDimensions.height\r\n : \"\",\r\n },\r\n shipping: {\r\n processingTime:\r\n productData.shipping !== null\r\n ? productData.shipping.processingTime\r\n : \"\",\r\n weight:\r\n productData.shipping !== null ? productData.shipping.weight : \"\",\r\n length:\r\n productData.shipping !== null ? productData.shipping.length : \"\",\r\n width: productData.shipping !== null ? productData.shipping.width : \"\",\r\n height:\r\n productData.shipping !== null ? productData.shipping.height : \"\",\r\n },\r\n extra: {\r\n manufacturingDate: productData.extra.manufacturingDate,\r\n warranty: productData.extra.warranty,\r\n isFreeReturnPolicy: productData.extra.isFreeReturnPolicy,\r\n AdditionalPackingCharges:\r\n productData.extra.additionalPackingCharges > 0\r\n ? productData.extra.additionalPackingCharges\r\n : null,\r\n SpaceTypeId:\r\n productData.extra.spaceTypeId > 0\r\n ? productData.extra.spaceTypeId\r\n : null,\r\n // isInstallmentAvailable: productData.extra.isInstallmentAvailable,\r\n },\r\n });\r\n if (productData.productLanguages.length > 0) {\r\n productData.productLanguages.forEach((singleLang, index) => {\r\n if (singleLang.languageId == this.defaultLanguage.id) {\r\n const productName =\r\n singleLang.productName !== \"\"\r\n ? singleLang.productName\r\n : productData.productName;\r\n const productDesc =\r\n singleLang.productDesc !== \"\"\r\n ? singleLang.productDesc\r\n : productData.productDesc;\r\n\r\n this.editProductForm.get(\"productName\").setValue(productName);\r\n this.editProductForm.get(\"description\").setValue(productDesc);\r\n\r\n this.editProductForm\r\n .get(\"defaultLanguageId\")\r\n .setValue(this.defaultLanguage.id);\r\n } else {\r\n this.l.controls.forEach((singleRow, i) => {\r\n if (singleRow.value.lang_id == singleLang.languageId) {\r\n this.l.controls[i]\r\n .get(\"languageProductName\")\r\n .setValue(singleLang.productName);\r\n this.l.controls[i]\r\n .get(\"languagedescription\")\r\n .setValue(singleLang.productDesc);\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.editProductForm.get(\"productName\").setValue(productData.productName);\r\n this.editProductForm.get(\"description\").setValue(productData.productDesc);\r\n }\r\n\r\n this.loadRecommandedProducts();\r\n this.loadCrossSellProducts();\r\n\r\n this.productSpecifications = productData.specification;\r\n\r\n this.primaryPreviewUrl =\r\n productData.isPrimaryImage === true ? productData.primaryImage : null;\r\n this.secondaryImageUrl =\r\n productData.secondaryImage !== null ? productData.secondaryImage : [];\r\n\r\n this.selectedRecommandedProducts =\r\n productData.linkedProducts.recommendedProduct;\r\n this.selectedCrossSellProducts =\r\n productData.linkedProducts.crossSellProduct;\r\n\r\n this.topViewUploadedFile = productData.topViewImage;\r\n this.topViewUploadedFileId = productData.topViewImageId;\r\n this.augmentedViewUploadedFile = productData.augmentedViewImage;\r\n this.augmentedViewUploadedFileId = productData.augmentedViewImageId;\r\n this.threeDViewUploadedFile = productData.modelJsonViewImage;\r\n this.threeDViewUploadedFileId = productData.modelJsonViewImageId;\r\n\r\n this.productCatId = productData.categoryId;\r\n }\r\n\r\n primaryFileProgress(primaryFileInput: any) {\r\n this.primaryFileData = primaryFileInput.target.files[0] as File;\r\n this.primaryImagePreview();\r\n }\r\n\r\n primaryImagePreview() {\r\n const mimeType = this.primaryFileData.type;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(this.primaryFileData);\r\n reader.onload = (_event) => {\r\n this.primaryPreviewUrl = reader.result;\r\n if (this.primaryPreviewUrl.length > 2 ** 21) {\r\n this.alert.danger(\"File exceeds the maximum size: 2mb.\");\r\n this.removePrimaryImage();\r\n } else {\r\n this.editProductForm.get(\"primaryImage\").setValue({\r\n filename: this.primaryFileData.name,\r\n filetype: this.primaryFileData.type,\r\n value: this.primaryPreviewUrl.split(\",\")[1],\r\n });\r\n }\r\n };\r\n }\r\n\r\n removePrimaryImage() {\r\n this.primaryPreviewUrl = null;\r\n this.primaryFileData = null;\r\n this.editProductForm.get(\"primaryImage\").setValue({\r\n filename: \"\",\r\n filetype: \"\",\r\n value: null,\r\n });\r\n }\r\n\r\n secondaryFileProgress(secondaryFileInput: any) {\r\n this.secondaryFileData.push(secondaryFileInput.target.files[0] as File);\r\n this.secondaryImagePreview();\r\n }\r\n\r\n secondaryImagePreview() {\r\n if (this.secondaryFileData.length > 0) {\r\n this.secondaryPreviewUrl = [];\r\n for (let i = 0; i < this.secondaryFileData.length; i++) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(this.secondaryFileData[i]);\r\n reader.onload = (_event) => {\r\n this.secondaryPreviewUrl[i] = reader.result;\r\n if (this.secondaryPreviewUrl[i].length > 2 ** 21) {\r\n this.alert.danger(\"File exceeds the maximum size: 2mb.\");\r\n this.removeSecondaryImage(i);\r\n }\r\n };\r\n }\r\n }\r\n }\r\n\r\n removeSecondaryImage(i) {\r\n this.secondaryFileData.splice(i, 1);\r\n this.secondaryPreviewUrl.splice(i, 1);\r\n }\r\n\r\n removeUploadedSecondaryImage(i, secondaryId: number) {\r\n this.secondaryImageUrl.splice(i, 1);\r\n this.removeSecondaryImageIds.push(secondaryId);\r\n }\r\n\r\n onRemoveProductTage($event) {\r\n const itemId = typeof $event.value.id !== undefined ? $event.value.id : 0;\r\n if (itemId > 0) {\r\n this.removeProductTagIds.push(itemId);\r\n }\r\n }\r\n\r\n topViewFileProgress(topViewFileInput: any) {\r\n const fileData = topViewFileInput.target.files[0] as File;\r\n const fileName = fileData.name;\r\n const fileType = fileName.substring(fileName.lastIndexOf(\".\") + 1);\r\n this.topViewError = \"\";\r\n this.topViewInputData = null;\r\n if (fileType === \"png\") {\r\n this.topViewInputData = fileData;\r\n this.topViewPreviewUrl = fileName;\r\n } else {\r\n this.topViewPreviewUrl = \"\";\r\n this.topViewError = \"Please upload only PNG file.\";\r\n }\r\n }\r\n\r\n augmnetedViewFileProgress(augmnetedViewFileInput: any) {\r\n const fileData = augmnetedViewFileInput.target.files[0] as File;\r\n const fileName = fileData.name;\r\n const fileType = fileName.substring(fileName.lastIndexOf(\".\") + 1);\r\n this.augmentedViewError = \"\";\r\n this.augmentedViewInputData = null;\r\n if (fileType === \"zip\") {\r\n this.augmentedViewInputData = fileData;\r\n this.augmentedViewPreviewUrl = fileName;\r\n } else {\r\n this.augmentedViewPreviewUrl = \"\";\r\n this.augmentedViewError = \"Please upload only ZIP file.\";\r\n }\r\n }\r\n\r\n threeDViewFileProgress(threeDViewFileInput: any) {\r\n const fileData = threeDViewFileInput.target.files[0] as File;\r\n const fileName = fileData.name;\r\n const fileType = fileName.substring(fileName.lastIndexOf(\".\") + 1);\r\n this.threeDViewError = \"\";\r\n this.threeDViewInputData = null;\r\n if (fileType === \"json\") {\r\n this.threeDViewInputData = fileData;\r\n this.threeDViewPreviewUrl = fileName;\r\n } else {\r\n this.threeDViewPreviewUrl = \"\";\r\n this.threeDViewError = \"Please upload only 3D JOSN file.\";\r\n }\r\n }\r\n\r\n get e() {\r\n return this.editProductForm.controls;\r\n }\r\n get l() {\r\n return this.e.languagesArray as FormArray;\r\n }\r\n\r\n addAvailableLanguages() {\r\n this.allLanguages.forEach((singleLang) => {\r\n if (singleLang.id !== this.defaultLanguage.id) {\r\n this.availableLangs.push(singleLang);\r\n\r\n this.l.push(\r\n this.fb.group({\r\n languageProductName: [\"\"],\r\n languagedescription: [\"\"],\r\n lang_id: singleLang.id,\r\n defaultLang: singleLang.default_lang,\r\n })\r\n );\r\n }\r\n });\r\n }\r\n\r\n loadRecommandedProducts() {\r\n this.recommandedProducts$ = this.recommandedProductsInput$.pipe(\r\n distinctUntilChanged(),\r\n tap(() => (this.recommandedProductsLoading = true)),\r\n switchMap((term) =>\r\n this.product.getLinkedProduct(term, this.productCatId, 1).pipe(\r\n catchError(() => of([])), // empty list on error\r\n tap(() => (this.recommandedProductsLoading = false))\r\n )\r\n )\r\n );\r\n }\r\n\r\n addNewRecommandedProduct($event) {\r\n if (\r\n !this.selectedRecommandedProducts.some((item) => item.key === $event.key)\r\n ) {\r\n $event.fromTag = true;\r\n this.selectedRecommandedProducts.push($event);\r\n if (\r\n this.selectedRecommandedProducts.length >= this.linkedProductMaxLimit\r\n ) {\r\n this.ngSelectComponent.setDisabledState(true);\r\n }\r\n }\r\n this.ngSelectComponent.handleClearClick();\r\n }\r\n\r\n removeRecommandedProduct(removeProduct) {\r\n if (\r\n typeof removeProduct.fromTag === \"undefined\" &&\r\n !removeProduct.fromTag\r\n ) {\r\n this.removeLinkedProduct.recommendedProduct.push(removeProduct);\r\n }\r\n\r\n this.selectedRecommandedProducts = this.selectedRecommandedProducts.filter(\r\n (item) => item.key !== removeProduct.key\r\n );\r\n if (this.selectedRecommandedProducts.length <= this.linkedProductMaxLimit) {\r\n this.ngSelectComponent.setDisabledState(false);\r\n }\r\n }\r\n\r\n loadCrossSellProducts() {\r\n this.crossSellProducts$ = this.crossSellProductsInput$.pipe(\r\n distinctUntilChanged(),\r\n tap(() => (this.crossSellProductsLoading = true)),\r\n switchMap((term) =>\r\n this.product.getLinkedProduct(term, this.productCatId, 0).pipe(\r\n catchError(() => of([])), // empty list on error\r\n tap(() => (this.crossSellProductsLoading = false))\r\n )\r\n )\r\n );\r\n }\r\n\r\n addNewCrossSellProduct($event) {\r\n if (\r\n !this.selectedCrossSellProducts.some((item) => item.key === $event.key)\r\n ) {\r\n $event.fromTag = true;\r\n this.selectedCrossSellProducts.push($event);\r\n if (this.selectedCrossSellProducts.length >= this.linkedProductMaxLimit) {\r\n this.ngCrossProductComponent.setDisabledState(true);\r\n }\r\n }\r\n this.ngCrossProductComponent.handleClearClick();\r\n }\r\n\r\n removeCrossSellProduct(removeProduct) {\r\n if (\r\n typeof removeProduct.fromTag === \"undefined\" &&\r\n !removeProduct.fromTag\r\n ) {\r\n this.removeLinkedProduct.crossSellProduct.push(removeProduct);\r\n }\r\n\r\n this.selectedCrossSellProducts = this.selectedCrossSellProducts.filter(\r\n (item) => item.key !== removeProduct.key\r\n );\r\n if (this.selectedCrossSellProducts.length <= this.linkedProductMaxLimit) {\r\n this.ngCrossProductComponent.setDisabledState(false);\r\n }\r\n }\r\n\r\n trackByFnLinkedProduct(item: ProductLinked) {\r\n return item.key;\r\n }\r\n\r\n trackByFn(index: any, item: any) {\r\n return index;\r\n }\r\n\r\n onOfferChange() {\r\n const price =\r\n this.editProductForm.value.price > 0\r\n ? this.editProductForm.value.price\r\n : 0;\r\n const offerAmount =\r\n this.editProductForm.value.offerAmount > 0\r\n ? this.editProductForm.value.offerAmount\r\n : 0;\r\n\r\n if (offerAmount > 0) {\r\n this.sellingPrice = price - (price * offerAmount) / 100;\r\n } else {\r\n this.sellingPrice = price;\r\n }\r\n }\r\n\r\n showModal(): void {\r\n this.product.getSpecificationList(this.productId).subscribe((data) => {\r\n this.specificationLists = data;\r\n this.specPopupTitle = \"Add Specification\";\r\n this.isModalShown = true;\r\n });\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n onHidden(): void {\r\n this.isModalShown = false;\r\n this.specificationForm.get(\"specificationValue\").patchValue([]);\r\n this.specificationForm.get(\"specification\").patchValue([]);\r\n this.specificationListValues = [];\r\n this.hideSpecificationFieldOnPopup = false;\r\n this.specificationForm.reset();\r\n }\r\n\r\n getSpecificationValues($event: Specification) {\r\n this.specificationListValues = [];\r\n this.specificationForm.get(\"specificationValue\").patchValue([]);\r\n\r\n if (typeof $event !== \"undefined\") {\r\n this.product\r\n .getSpecificationList(this.productId, $event.specNameLangId)\r\n .subscribe((data) => {\r\n this.specificationListValues = data;\r\n });\r\n }\r\n }\r\n\r\n updateSPecification(singleSpecification: ProductSpecification) {\r\n this.hideSpecificationFieldOnPopup = true;\r\n this.specificationForm.get(\"specificationValue\").patchValue([]);\r\n this.specificationForm\r\n .get(\"specification\")\r\n .setValue(singleSpecification.specificationId);\r\n\r\n this.specPopupTitle = \"Edit Specification\";\r\n\r\n this.product\r\n .getSpecificationList(this.productId, singleSpecification.specNameLangId)\r\n .subscribe((data) => {\r\n this.specificationListValues = data;\r\n this.specificationForm\r\n .get(\"specificationValue\")\r\n .setValue(\r\n singleSpecification.productSpecificationValueIds\r\n .split(\",\")\r\n .map((x) => +x)\r\n );\r\n\r\n this.isModalShown = true;\r\n });\r\n }\r\n\r\n // It will handel remove specification from popup. Now not in use\r\n removeSpecicationValue($event) {\r\n let deletedSpec =\r\n this.specificationForm.controls[\"deletedSpecificationValue\"].value;\r\n deletedSpec = deletedSpec !== null ? deletedSpec : [];\r\n const eventValue = typeof $event.value !== \"undefined\" ? $event.value : [];\r\n if (eventValue) {\r\n const id = typeof eventValue.id !== \"undefined\" ? eventValue.id : 0;\r\n if (id > 0) {\r\n deletedSpec.push(id);\r\n this.specificationForm\r\n .get(\"deletedSpecificationValue\")\r\n .setValue(deletedSpec);\r\n }\r\n }\r\n }\r\n\r\n removeSpecification(id: number) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm Remove Specification\",\r\n message: \"Are you sure, you want to remove Specification?\",\r\n },\r\n });\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n this.isLoadingService.add();\r\n this.product.deleteSpecification(id).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.productSpecifications = this.productSpecifications.filter(\r\n (item) => item.id !== id\r\n );\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n this.alert.danger(err.error.message);\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n onSpecificationSubmit() {\r\n if (this.specificationForm.invalid) {\r\n return;\r\n }\r\n\r\n this.sloading = true;\r\n this.isLoadingService.add();\r\n\r\n const formData = {\r\n specNameId: this.specificationForm.value.specification,\r\n specNameLangIds:\r\n this.specificationForm.value.specificationValue.join(\",\"),\r\n productId:\r\n this.specificationForm.value.productId !== null\r\n ? this.specificationForm.value.productId\r\n : this.productId,\r\n };\r\n\r\n this.product\r\n .addSpecification(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.productSpecifications = data[\"data\"];\r\n this.alert.success(data[\"message\"]);\r\n this.autoShownModal.hide();\r\n this.isLoadingService.remove();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n }\r\n this.sloading = false;\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.sloading = false;\r\n }\r\n );\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.editProductForm.invalid) {\r\n return;\r\n }\r\n\r\n const formData = new FormData();\r\n // formData.append('CategoryId', this.editProductForm.value.categoryName);\r\n formData.append(\"ServiceTypeId\", this.editProductForm.value.serviceTypeId);\r\n formData.append(\"ProductId\", this.editProductForm.value.productId);\r\n formData.append(\"SubCategoryId\", this.editProductForm.value.subCategory);\r\n formData.append(\"ProductName\", this.editProductForm.value.productName);\r\n formData.append(\"ProductDesc\", this.editProductForm.value.description);\r\n formData.append(\"ProductPrice\", this.editProductForm.value.price);\r\n formData.append(\r\n \"ProductOfferAmt\",\r\n this.editProductForm.value.offerAmount !== null\r\n ? this.editProductForm.value.offerAmount\r\n : \"\"\r\n );\r\n formData.append(\r\n \"PrimaryImage\",\r\n this.primaryFileData !== null ? this.primaryFileData : \"\"\r\n );\r\n formData.append(\"ItemTypeId\", this.editProductForm.value.productType);\r\n formData.append(\r\n \"ItemTagId\",\r\n this.editProductForm.value.itemTagId !== null\r\n ? this.editProductForm.value.itemTagId\r\n : 0\r\n );\r\n formData.append(\"BrandId\", this.editProductForm.value.brandId);\r\n // formData.append('ProductTagIds', productTags.join(','));\r\n formData.append(\r\n \"VideoURL\",\r\n this.editProductForm.value.videoUrl !== null\r\n ? this.editProductForm.value.videoUrl\r\n : \"\"\r\n );\r\n\r\n formData.append(\"ThemeId\", this.editProductForm.value.theme);\r\n formData.append(\"ColorPaletteId\", this.editProductForm.value.colorPalette);\r\n formData.append(\r\n \"IsFragile\",\r\n this.editProductForm.value.isFragile !== null\r\n ? this.editProductForm.value.isFragile\r\n : 0\r\n );\r\n\r\n formData.append(\r\n \"IsReturnable\",\r\n this.editProductForm.value.isReturnable !== null\r\n ? this.editProductForm.value.isReturnable\r\n : 0\r\n );\r\n\r\n if (this.topViewInputData !== null) {\r\n formData.append(\"TopViewImage\", this.topViewInputData);\r\n } else {\r\n formData.append(\"TopViewImage\", \"\");\r\n }\r\n\r\n if (this.augmentedViewInputData !== null) {\r\n formData.append(\"AugmentedViewImage\", this.augmentedViewInputData);\r\n } else {\r\n formData.append(\"AugmentedViewImage\", \"\");\r\n }\r\n\r\n if (this.threeDViewInputData !== null) {\r\n formData.append(\"ModelJsonViewImage\", this.threeDViewInputData);\r\n } else {\r\n formData.append(\"ModelJsonViewImage\", \"\");\r\n }\r\n\r\n if (this.secondaryFileData.length > 0) {\r\n for (let i = 0; i < this.secondaryFileData.length; i++) {\r\n formData.append(\"SecondaryImage\", this.secondaryFileData[i]);\r\n }\r\n }\r\n\r\n if (this.editProductForm.value.productTags.length > 0) {\r\n this.editProductForm.value.productTags.forEach((singleTag) => {\r\n formData.append(\"ProductTagIds\", singleTag);\r\n });\r\n }\r\n\r\n if (this.removeProductTagIds.length > 0) {\r\n this.removeProductTagIds.forEach((item) => {\r\n formData.append(\"ProductTagRemovedIds\", item.toString());\r\n });\r\n }\r\n\r\n // inventory\r\n formData.append(\"Inventory.SKU\", this.editProductForm.value.inventory.sku);\r\n formData.append(\"Inventory.Qty\", this.editProductForm.value.inventory.qty);\r\n formData.append(\r\n \"Inventory.ProductStock\",\r\n this.editProductForm.value.inventory.productStock\r\n );\r\n formData.append(\r\n \"Inventory.SoldIndividually\",\r\n this.editProductForm.value.inventory.soldIndividually\r\n );\r\n\r\n const pWeight =\r\n typeof this.editProductForm.value.productDimensions.weight !== \"undefined\"\r\n ? this.editProductForm.value.productDimensions.weight\r\n : 0;\r\n const pLength =\r\n typeof this.editProductForm.value.productDimensions.length !== \"undefined\"\r\n ? this.editProductForm.value.productDimensions.length\r\n : 0;\r\n const pWidth =\r\n typeof this.editProductForm.value.productDimensions.width !== \"undefined\"\r\n ? this.editProductForm.value.productDimensions.width\r\n : 0;\r\n const pHeight =\r\n typeof this.editProductForm.value.productDimensions.height !== \"undefined\"\r\n ? this.editProductForm.value.productDimensions.height\r\n : 0;\r\n\r\n formData.append(\"ProductDimensions.Weight\", pWeight);\r\n formData.append(\"ProductDimensions.Length\", pLength);\r\n formData.append(\"ProductDimensions.Width\", pWidth);\r\n formData.append(\"ProductDimensions.Height\", pHeight);\r\n\r\n // Shipping\r\n formData.append(\r\n \"Shipping.ProcessingTime\",\r\n this.editProductForm.value.shipping.processingTime !== null\r\n ? this.editProductForm.value.shipping.processingTime\r\n : \"\"\r\n );\r\n formData.append(\r\n \"Shipping.Weight\",\r\n this.editProductForm.value.shipping.weight !== null\r\n ? this.editProductForm.value.shipping.weight\r\n : \"\"\r\n );\r\n formData.append(\r\n \"Shipping.Length\",\r\n this.editProductForm.value.shipping.length !== null\r\n ? this.editProductForm.value.shipping.length\r\n : \"\"\r\n );\r\n formData.append(\r\n \"Shipping.Width\",\r\n this.editProductForm.value.shipping.width !== null\r\n ? this.editProductForm.value.shipping.width\r\n : \"\"\r\n );\r\n formData.append(\r\n \"Shipping.Height\",\r\n this.editProductForm.value.shipping.height !== null\r\n ? this.editProductForm.value.shipping.height\r\n : \"\"\r\n );\r\n\r\n const isAssemblyRequired =\r\n this.editProductForm.value.IsAssemblyRequired !== null\r\n ? this.editProductForm.value.IsAssemblyRequired\r\n : false;\r\n formData.append(\"IsAssemblyRequired\", isAssemblyRequired);\r\n\r\n const AssemblyCharges =\r\n this.editProductForm.value.AssemblyCharges !== null\r\n ? this.editProductForm.value.AssemblyCharges\r\n : 0;\r\n formData.append(\r\n \"AssemblyCharges\",\r\n isAssemblyRequired === true ? AssemblyCharges : \"\"\r\n );\r\n\r\n // Extra\r\n let mfDate = \"\";\r\n if (this.editProductForm.value.extra.manufacturingDate !== null) {\r\n const mDate = new Date(\r\n this.editProductForm.value.extra.manufacturingDate\r\n );\r\n const m =\r\n mDate.getMonth() > 0 && mDate.getMonth() <= 9\r\n ? \"0\" + (mDate.getMonth() + 1)\r\n : mDate.getMonth() + 1;\r\n const d =\r\n mDate.getDate() > 0 && mDate.getDate() <= 9\r\n ? \"0\" + mDate.getDate()\r\n : mDate.getDate();\r\n mfDate = mDate.getFullYear() + \"-\" + m + \"-\" + d;\r\n }\r\n\r\n formData.append(\"Extra.ManufacturingDate\", mfDate);\r\n formData.append(\r\n \"Extra.Warranty\",\r\n this.editProductForm.value.extra.warranty !== null\r\n ? this.editProductForm.value.extra.warranty\r\n : \"\"\r\n );\r\n formData.append(\r\n \"Extra.IsFreeReturnPolicy\",\r\n this.editProductForm.value.extra.isFreeReturnPolicy !== null\r\n ? this.editProductForm.value.extra.isFreeReturnPolicy\r\n : \"\"\r\n );\r\n formData.append(\r\n \"Extra.AdditionalPackingCharges\",\r\n this.editProductForm.value.extra.AdditionalPackingCharges !== null\r\n ? this.editProductForm.value.extra.AdditionalPackingCharges\r\n : \"\"\r\n );\r\n formData.append(\r\n \"Extra.SpaceTypeId\",\r\n this.editProductForm.value.extra.SpaceTypeId !== null\r\n ? this.editProductForm.value.extra.SpaceTypeId\r\n : \"\"\r\n );\r\n // formData.append('Extra.IsInstallmentAvailable', (this.editProductForm.value.extra.isInstallmentAvailable !== null) ? this.editProductForm.value.extra.isInstallmentAvailable : '');\r\n\r\n // Linked Products\r\n if (this.selectedRecommandedProducts.length > 0) {\r\n let recommandedProductsIds = [];\r\n this.selectedRecommandedProducts.forEach((item) => {\r\n recommandedProductsIds.push(item.key.toString());\r\n });\r\n\r\n formData.append(\r\n \"LinkedProducts.RecommendedProductSetIds\",\r\n recommandedProductsIds.length > 0\r\n ? recommandedProductsIds.join(\",\")\r\n : \"\"\r\n );\r\n } else {\r\n formData.append(\"LinkedProducts.RecommendedProductSetIds\", \"\");\r\n }\r\n\r\n if (this.removeLinkedProduct.recommendedProduct.length > 0) {\r\n let removeRecommandedProductIds = [];\r\n this.removeLinkedProduct.recommendedProduct.forEach((item) => {\r\n removeRecommandedProductIds.push(item.key.toString());\r\n });\r\n formData.append(\r\n \"LinkedProducts.RecommendedProductRemovedIds\",\r\n removeRecommandedProductIds.length > 0\r\n ? removeRecommandedProductIds.join(\",\")\r\n : \"\"\r\n );\r\n } else {\r\n formData.append(\"LinkedProducts.RecommendedProductRemovedIds\", \"\");\r\n }\r\n\r\n if (this.selectedCrossSellProducts.length > 0) {\r\n let crossSellProductIds = [];\r\n this.selectedCrossSellProducts.forEach((item) => {\r\n crossSellProductIds.push(item.key.toString());\r\n });\r\n formData.append(\r\n \"LinkedProducts.CrossSellProductSetIds\",\r\n crossSellProductIds.length > 0 ? crossSellProductIds.join(\",\") : \"\"\r\n );\r\n } else {\r\n formData.append(\"LinkedProducts.CrossSellProductSetIds\", \"\");\r\n }\r\n\r\n if (this.removeLinkedProduct.crossSellProduct.length > 0) {\r\n let removeCrossSellProductIds = [];\r\n this.removeLinkedProduct.crossSellProduct.forEach((item) => {\r\n removeCrossSellProductIds.push(item.key.toString());\r\n });\r\n formData.append(\r\n \"LinkedProducts.CrossSellProductRemovedIds\",\r\n removeCrossSellProductIds.length > 0\r\n ? removeCrossSellProductIds.join(\",\")\r\n : \"\"\r\n );\r\n } else {\r\n formData.append(\"LinkedProducts.CrossSellProductRemovedIds\", \"\");\r\n }\r\n\r\n // Product Language\r\n const productLanguages = [];\r\n this.editProductForm.value.languagesArray.forEach((item) => {\r\n productLanguages.push({\r\n ProductId: this.productId,\r\n LanguageId: item.lang_id,\r\n ProductName: item.languageProductName,\r\n ProductDesc: item.languagedescription,\r\n });\r\n });\r\n\r\n formData.append(\r\n \"ProductLanguagesJSONString\",\r\n JSON.stringify(productLanguages).toString()\r\n );\r\n\r\n this.isLoadingService.add();\r\n this.product\r\n .edit(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.router.navigate([`${this.productListUrl}`]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n onAssemblyChange($event) {\r\n if ($event.checked === false) {\r\n this.editProductForm.get(\"AssemblyCharges\").setValue(null);\r\n this.editProductForm.get(\"AssemblyCharges\").setValidators(null);\r\n this.editProductForm.get(\"AssemblyCharges\").clearValidators();\r\n this.editProductForm.get(\"AssemblyCharges\").updateValueAndValidity();\r\n } else {\r\n this.editProductForm.get(\"AssemblyCharges\").setValue(null);\r\n this.editProductForm\r\n .get(\"AssemblyCharges\")\r\n .setValidators([Validators.required]);\r\n this.editProductForm.get(\"AssemblyCharges\").updateValueAndValidity();\r\n }\r\n }\r\n\r\n removeUploadedFile(refId, imageType, index: number = 0) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm\",\r\n message: \"Are you sure you wish to delete this file?\",\r\n },\r\n });\r\n\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n this.isLoadingService.add();\r\n this.product\r\n .removeImage(refId, imageType)\r\n .pipe()\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n\r\n switch (imageType) {\r\n case this.SECONDARY_IMAGE:\r\n this.secondaryImageUrl.splice(index, 1);\r\n break;\r\n case this.TOPVIEW_IMAGE:\r\n this.topViewUploadedFile = \"\";\r\n this.topViewUploadedFileId = 0;\r\n this.topViewPreviewUrl = \"\";\r\n break;\r\n case this.AUGMENTED_VIEW:\r\n this.augmentedViewUploadedFile = \"\";\r\n this.augmentedViewUploadedFileId = 0;\r\n this.augmentedViewPreviewUrl = \"\";\r\n break;\r\n case this.THREE_VIEW:\r\n this.threeDViewUploadedFile = \"\";\r\n this.threeDViewUploadedFileId = 0;\r\n this.threeDViewPreviewUrl = \"\";\r\n break;\r\n }\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error.Message !== \"undefined\") {\r\n this.alert.danger(err.error.Message);\r\n } else if (\r\n typeof err.error !== \"undefined\" &&\r\n err.error !== null\r\n ) {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n addTagFn(name) {\r\n if (name.length >= 40) {\r\n this.specificationLength = \"Maximum 40 characters allowed.\";\r\n return;\r\n } else {\r\n this.specificationLength = \"\";\r\n }\r\n const selectedSpec = this.specificationLists.find(\r\n (spec) => spec.id === this.specificationForm.get(\"specification\").value\r\n );\r\n const specNameLangId = selectedSpec ? selectedSpec.specNameLangId : null;\r\n\r\n const CueenrLangId = JSON.parse(localStorage.getItem(\"defaultLang\"));\r\n\r\n const langValueLists = [];\r\n const specNameLangIdList = [];\r\n\r\n specNameLangIdList.push(specNameLangId);\r\n langValueLists.push(name);\r\n const formData = {\r\n specValueLangId: 0,\r\n value: \"\",\r\n specValueList: langValueLists,\r\n specNameLangIdList: specNameLangIdList,\r\n };\r\n\r\n this.isLoadingService.add();\r\n\r\n this.specification.addEditSpecificationValue(formData).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.product\r\n .getSpecificationList(this.productId, specNameLangId)\r\n .subscribe((data) => {\r\n this.specificationListValues = data;\r\n const addedTag = this.specificationListValues.find(\r\n (item) => item.value === name\r\n );\r\n // const currentSelected =\r\n // this.specificationForm.get(\"specificationValue\").value;\r\n // this.specificationForm.get(\"specificationValue\").patchValue([]);\r\n // this.ngSelectComponent.handleClearClick();\r\n // const updatedSelected = currentSelected.concat(addedTag.id);\r\n // this.specificationForm\r\n // .get(\"specificationValue\")\r\n // .setValue(updatedSelected);\r\n });\r\n this.alert.success(data[\"message\"]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n openInNewTab(fileUrl: string): void {\r\n window.open(fileUrl, '_blank');\r\n }\r\n}\r\n\r\nexport interface DropDownValues {\r\n brands: ProductBrand[];\r\n categoryLists: ProductCategory[];\r\n productLabels: ProductLabel[];\r\n productTags: ProductTag[];\r\n productTypes: ProductType[];\r\n themes: ProductTheme[];\r\n colorPalettes: ProductColorPalette[];\r\n productServiceType: ProductServiceType[];\r\n spaceType: ProductServiceType[];\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from \"@angular/forms\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { ProductService } from \"common/services/store/product.service\";\r\nimport {\r\n AttributeValueList,\r\n ProductVariation,\r\n} from \"common/_models/store/productVariation.model\";\r\nimport { ConfirmDialogComponent } from \"common/_components/confirm-dialog/confirm-dialog.component\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { first } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"app-variations\",\r\n templateUrl: \"./variations.component.html\",\r\n styleUrls: [\"./variations.component.css\"],\r\n})\r\nexport class VariationsComponent implements OnInit {\r\n config = constEnv;\r\n productEditUrl: string;\r\n productListUrl: string;\r\n\r\n loading = false;\r\n submitted = false;\r\n\r\n productId = 0;\r\n\r\n productVariations: ProductVariation[] = [];\r\n isSingleVariation = false;\r\n\r\n variationForm: FormGroup;\r\n\r\n @ViewChild(\"variationImageInput\", { static: true })\r\n variationImageInput: ElementRef;\r\n variationImageFileData: File[] = [];\r\n imageSelected: boolean[] = [];\r\n formSubmitted = false;\r\n\r\n @ViewChild(\"topViewInput\", { static: true }) topViewInput: ElementRef;\r\n topViewInputData: File[] = [];\r\n topViewPreviewUrl: string[] = [];\r\n topViewError: string[] = [];\r\n topViewUploadedFile: string[] = [];\r\n topViewUploadedFileId: number[] = [];\r\n\r\n @ViewChild(\"augmentedViewInput\", { static: true })\r\n augmentedViewInput: ElementRef;\r\n augmentedViewInputData: File[] = [];\r\n augmentedViewPreviewUrl: string[] = [];\r\n augmentedViewError: string[] = [];\r\n augmentedViewUploadedFile: string[] = [];\r\n augmentedViewUploadedFileId: number[] = [];\r\n\r\n @ViewChild(\"threeDViewInput\", { static: true }) threeDViewInput: ElementRef;\r\n threeDViewInputData: File[] = [];\r\n threeDViewPreviewUrl: string[] = [];\r\n threeDViewError: string[] = [];\r\n threeDViewUploadedFile: string[] = [];\r\n threeDViewUploadedFileId: number[] = [];\r\n\r\n availableQty = [];\r\n attributeValueLists = [];\r\n\r\n isAllVariationCreated: boolean = false;\r\n\r\n PRIMARY_IMAGE = 4;\r\n TOPVIEW_IMAGE = 4;\r\n AUGMENTED_VIEW = 5;\r\n THREE_VIEW = 6;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService,\r\n private translate: TranslateService,\r\n private product: ProductService,\r\n private dialog: MatDialog\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Product Variations\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.productListUrl = `${this.config.STORE_URL}/product/lists`;\r\n\r\n const id = this.route.snapshot.params.id;\r\n this.productId = typeof id !== \"undefined\" ? id : 0;\r\n if (this.productId <= 0) {\r\n this.router.navigate([this.productListUrl]);\r\n }\r\n\r\n this.productEditUrl = `${this.config.STORE_URL}/product/edit/${this.productId}`;\r\n\r\n this.loadProductVariations();\r\n this.createForm();\r\n }\r\n\r\n loadProductVariations() {\r\n this.isLoadingService.add();\r\n this.product.getProductVariations(this.productId).subscribe(\r\n (data) => {\r\n const res = data as ProductVariationListResponse;\r\n if (res.status === true) {\r\n this.clearFormArray(this.v);\r\n this.productVariations = [];\r\n this.isAllVariationCreated = res.data.isAllVariationCreated;\r\n if (res.data.data.length > 0) {\r\n this.productVariations = res.data.data.map((item) =>\r\n new ProductVariation().deserialize(item)\r\n );\r\n\r\n this.productVariations.forEach((single, index) => {\r\n this.createVariations(single);\r\n if (typeof single.attributeList !== \"undefined\") {\r\n single.attributeList.forEach((attr, i) => {\r\n const attrId = attr.id;\r\n const selectedAttrValueId = attr.selectedId.toString();\r\n this.addNewVariationAttribute(this.v.length - 1);\r\n this.setNewVariationAttributeValues(\r\n this.v.length - 1,\r\n i,\r\n attrId,\r\n selectedAttrValueId\r\n );\r\n });\r\n }\r\n this.availableQty[index] = single.stockQuantity;\r\n\r\n this.topViewUploadedFile[index] = single.topViewImage;\r\n this.topViewUploadedFileId[index] = single.topViewImageId;\r\n this.augmentedViewUploadedFile[index] = single.augmentedViewImage;\r\n this.augmentedViewUploadedFileId[index] =\r\n single.augmentedViewImageId;\r\n this.threeDViewUploadedFile[index] = single.modelJsonViewImage;\r\n this.threeDViewUploadedFileId[index] =\r\n single.modelJsonViewImageId;\r\n });\r\n }\r\n this.isLoadingService.remove();\r\n } else {\r\n this.alert.danger(res.message);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error.Message !== \"undefined\") {\r\n this.alert.danger(err.error.Message);\r\n } else if (typeof err.error !== \"undefined\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n showCreateButtonContainer(): boolean {\r\n if (this.isAllVariationCreated) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n createForm() {\r\n this.variationForm = this.fb.group({\r\n productId: [this.productId],\r\n variations: this.fb.array([]),\r\n });\r\n }\r\n\r\n get f() {\r\n return this.variationForm.controls;\r\n }\r\n get v() {\r\n return this.f.variations as FormArray;\r\n }\r\n\r\n createVariations(variationData: ProductVariation) {\r\n this.v.push(\r\n this.fb.group({\r\n variationId: [variationData.id],\r\n variationSku: [variationData.sku, Validators.required],\r\n variationName: [variationData.name],\r\n variationFile: [variationData.filename],\r\n variationQty: [0],\r\n variationAvailable: [variationData.stockQuantity],\r\n variationPrice: [variationData.overriddenPrice],\r\n variationOfferAmount: [variationData.overriddenOffer],\r\n variationOutOfStock: [variationData.allowOutOfStockOrders],\r\n variationAtrributeList: this.fb.array([]),\r\n })\r\n );\r\n\r\n const hasImage =\r\n variationData.filename !== null && variationData.filename !== \"\";\r\n this.imageSelected.push(hasImage);\r\n }\r\n\r\n createVariationAttribute() {\r\n return this.fb.group({\r\n attributeId: [0],\r\n attributeValueId: [\"\", Validators.required],\r\n });\r\n }\r\n\r\n addNewVariationAttribute(mainIndex) {\r\n const control = (this.variationForm.controls[\"variations\"] as FormArray)\r\n .at(mainIndex)\r\n .get(\"variationAtrributeList\") as FormArray;\r\n\r\n control.push(this.createVariationAttribute());\r\n }\r\n\r\n setNewVariationAttributeValues(\r\n mainIndex,\r\n subindex,\r\n arrtId = 0,\r\n attrValueId = \"\"\r\n ) {\r\n const control = (this.variationForm.controls[\"variations\"] as FormArray)\r\n .at(mainIndex)\r\n .get(\"variationAtrributeList\") as FormArray;\r\n if (typeof control.at(subindex) !== \"undefined\") {\r\n control.at(subindex).get(\"attributeId\").setValue(arrtId);\r\n control.at(subindex).get(\"attributeValueId\").setValue(attrValueId);\r\n }\r\n }\r\n\r\n variationQtyChange(value, i, originalQty) {\r\n const aQty = originalQty > 0 ? originalQty : 0;\r\n const qty = value > 0 ? value : 0;\r\n\r\n this.availableQty[i] = qty * 1 + aQty * 1;\r\n }\r\n\r\n clearFormArray = (formArray: FormArray) => {\r\n while (formArray.length !== 0) {\r\n formArray.removeAt(0);\r\n }\r\n };\r\n\r\n createProductVariations(variationType: string = \"all\") {\r\n this.isLoadingService.add();\r\n this.product\r\n .createProductVariations(this.productId, variationType)\r\n .subscribe(\r\n (data) => {\r\n const res = data as any;\r\n if (res.status === true) {\r\n if (variationType === \"all\") {\r\n const pVatiation = res.data.map((item) =>\r\n new ProductVariation().deserialize(item)\r\n );\r\n pVatiation.forEach((single, index) => {\r\n this.createVariations(single);\r\n\r\n single.attributeList.forEach((singleAttr, i) => {\r\n this.addNewVariationAttribute(this.v.length - 1);\r\n const attrId = singleAttr.id;\r\n const attrValue =\r\n typeof single.attValueList[i] !== \"undefined\"\r\n ? (single.attValueList[i] as AttributeValueList)\r\n : \"\";\r\n let selectedAttrValueId = \"\";\r\n if (attrValue !== \"\") {\r\n selectedAttrValueId = attrValue.attributeValueId.toString();\r\n }\r\n this.setNewVariationAttributeValues(\r\n this.v.length - 1,\r\n i,\r\n attrId,\r\n selectedAttrValueId\r\n );\r\n });\r\n this.attributeValueLists[this.v.length - 1] =\r\n single.attributeList;\r\n });\r\n } else {\r\n const pVatiation = new ProductVariation().deserialize(res.data);\r\n pVatiation.name = \"\";\r\n this.createVariations(pVatiation);\r\n pVatiation.attributeList.forEach((singleAttr, index) => {\r\n this.addNewVariationAttribute(this.v.length - 1);\r\n const attrId = singleAttr.id;\r\n const selectedAttrValueId = \"\";\r\n this.setNewVariationAttributeValues(\r\n this.v.length - 1,\r\n index,\r\n attrId,\r\n selectedAttrValueId\r\n );\r\n });\r\n\r\n this.attributeValueLists[this.v.length - 1] =\r\n pVatiation.attributeList;\r\n }\r\n\r\n this.isLoadingService.remove();\r\n } else {\r\n this.alert.danger(res.message);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error.Message !== \"undefined\") {\r\n this.alert.danger(err.error.Message);\r\n } else if (typeof err.error !== \"undefined\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n removeVariation(removeIndex: number, varitionId: number = 0) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm\",\r\n message: \"DeleteConfirm\",\r\n },\r\n });\r\n\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n if (varitionId > 0) {\r\n this.isLoadingService.add();\r\n this.product\r\n .deleteVariation(varitionId)\r\n .pipe()\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n (\r\n this.variationForm.controls[\"variations\"] as FormArray\r\n ).removeAt(removeIndex);\r\n this.loadProductVariations();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error.Message !== \"undefined\") {\r\n this.alert.danger(err.error.Message);\r\n } else if (typeof err.error !== \"undefined\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n } else {\r\n (this.variationForm.controls[\"variations\"] as FormArray).removeAt(\r\n removeIndex\r\n );\r\n }\r\n }\r\n });\r\n }\r\n\r\n variationImageFileProgress(fileInput: any, i) {\r\n const fileInfo = fileInput.target.files[0] as File;\r\n const fileSize = Math.round(fileInfo.size / 1024);\r\n if (fileSize > 2048) {\r\n this.alert.danger(\"File exceeds the maximum size: 2mb.\");\r\n fileInput.target.value = null;\r\n } else {\r\n this.variationImageFileData[i] = fileInfo;\r\n this.imageSelected[i] = true;\r\n }\r\n }\r\n\r\n topViewImageFileProgress(fileInput: any, i) {\r\n const fileInfo = fileInput.target.files[0] as File;\r\n\r\n const fileName = fileInfo.name;\r\n const fileType = fileName.substring(fileName.lastIndexOf(\".\") + 1);\r\n this.topViewError[i] = \"\";\r\n this.topViewInputData[i] = null;\r\n if (fileType === \"png\") {\r\n this.topViewInputData[i] = fileInfo;\r\n this.topViewPreviewUrl[i] = fileName;\r\n } else {\r\n this.topViewPreviewUrl[i] = \"\";\r\n this.topViewError[i] = \"Please upload only PNG file.\";\r\n }\r\n }\r\n\r\n augmentedViewImageFileProgress(fileInput: any, i) {\r\n const fileInfo = fileInput.target.files[0] as File;\r\n\r\n const fileName = fileInfo.name;\r\n const fileType = fileName.substring(fileName.lastIndexOf(\".\") + 1);\r\n this.augmentedViewError[i] = \"\";\r\n this.augmentedViewInputData[i] = null;\r\n if (fileType === \"zip\") {\r\n this.augmentedViewInputData[i] = fileInfo;\r\n this.augmentedViewPreviewUrl[i] = fileName;\r\n } else {\r\n this.augmentedViewPreviewUrl[i] = \"\";\r\n this.augmentedViewError[i] = \"Please upload only ZIP file.\";\r\n }\r\n }\r\n\r\n threeDImageFileProgress(fileInput: any, i) {\r\n const fileInfo = fileInput.target.files[0] as File;\r\n\r\n const fileName = fileInfo.name;\r\n const fileType = fileName.substring(fileName.lastIndexOf(\".\") + 1);\r\n this.threeDViewError[i] = \"\";\r\n this.threeDViewInputData[i] = null;\r\n if (fileType === \"json\") {\r\n this.threeDViewInputData[i] = fileInfo;\r\n this.threeDViewPreviewUrl[i] = fileName;\r\n } else {\r\n this.threeDViewPreviewUrl[i] = \"\";\r\n this.threeDViewError[i] = \"Please upload only 3D JSON file.\";\r\n }\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n this.formSubmitted = true;\r\n\r\n if (this.variationForm.invalid) {\r\n return;\r\n }\r\n const totalVariations =\r\n this.variationForm[\"controls\"].variations[\"controls\"].length;\r\n const variationsWithImages = this.imageSelected.filter(\r\n (selected) => selected\r\n ).length;\r\n\r\n if (variationsWithImages !== totalVariations) {\r\n return;\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append(\r\n \"ProductId\",\r\n this.variationForm.value.productId !== null\r\n ? this.variationForm.value.productId\r\n : this.productId\r\n );\r\n\r\n if (typeof this.variationForm.value.variations !== \"undefined\") {\r\n this.variationForm.value.variations.forEach((variation, index) => {\r\n formData.append(\"Id\", variation.variationId);\r\n formData.append(\"Sku\", variation.variationSku);\r\n formData.append(\"Name\", variation.variationName);\r\n formData.append(\"StockQuantity\", variation.variationQty);\r\n formData.append(\"OverriddenPrice\", variation.variationPrice);\r\n formData.append(\"OverriddenOffer\", variation.variationOfferAmount);\r\n formData.append(\"AllowOutOfStockOrders\", variation.variationOutOfStock);\r\n\r\n const imageData =\r\n typeof this.variationImageFileData[index] !== \"undefined\" &&\r\n this.variationImageFileData[index] !== null\r\n ? this.variationImageFileData[index]\r\n : \"\";\r\n if (imageData === \"\") {\r\n formData.append(\"Filename\", variation.variationFile);\r\n formData.append(\"Image\", \"\");\r\n } else {\r\n formData.append(\"Filename\", \"\");\r\n formData.append(\r\n \"Image\",\r\n typeof this.variationImageFileData[index] !== \"undefined\" &&\r\n this.variationImageFileData[index] !== null\r\n ? this.variationImageFileData[index]\r\n : \"\"\r\n );\r\n }\r\n\r\n const topViewimageData =\r\n typeof this.topViewInputData[index] !== \"undefined\" &&\r\n this.topViewInputData[index] !== null\r\n ? this.topViewInputData[index]\r\n : \"\";\r\n if (topViewimageData === \"\") {\r\n formData.append(\"TopViewFilename\", variation.variationFile);\r\n formData.append(\"TopViewImage\", \"\");\r\n } else {\r\n formData.append(\"TopViewFilename\", \"\");\r\n formData.append(\"TopViewImage\", topViewimageData);\r\n }\r\n\r\n const augumentedimageData =\r\n typeof this.augmentedViewInputData[index] !== \"undefined\" &&\r\n this.augmentedViewInputData[index] !== null\r\n ? this.augmentedViewInputData[index]\r\n : \"\";\r\n if (augumentedimageData === \"\") {\r\n formData.append(\"AugmentedViewFilename\", variation.variationFile);\r\n formData.append(\"AugmentedViewImage\", \"\");\r\n } else {\r\n formData.append(\"AugmentedViewFilename\", \"\");\r\n formData.append(\"AugmentedViewImage\", augumentedimageData);\r\n }\r\n\r\n const threeDimageData =\r\n typeof this.threeDViewInputData[index] !== \"undefined\" &&\r\n this.threeDViewInputData[index] !== null\r\n ? this.threeDViewInputData[index]\r\n : \"\";\r\n if (threeDimageData === \"\") {\r\n formData.append(\"ModelJsonViewFilename\", variation.variationFile);\r\n formData.append(\"ModelJsonViewImage\", \"\");\r\n } else {\r\n formData.append(\"ModelJsonViewFilename\", \"\");\r\n formData.append(\"ModelJsonViewImage\", threeDimageData);\r\n }\r\n\r\n const attrIds = [];\r\n const attrValueIds = [];\r\n if (typeof variation.variationAtrributeList !== \"undefined\") {\r\n variation.variationAtrributeList.forEach((attr, i) => {\r\n attrIds.push(attr.attributeId);\r\n attrValueIds.push(attr.attributeValueId);\r\n });\r\n }\r\n\r\n formData.append(\"productAttributeIds\", attrIds.join(\",\"));\r\n formData.append(\"productAttributeValueIds\", attrValueIds.join(\",\"));\r\n });\r\n }\r\n\r\n this.isLoadingService.add();\r\n this.product\r\n .insertUpdateVariation(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n this.formSubmitted = false;\r\n this.imageSelected = [];\r\n this.loadProductVariations();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n removeUploadedFile(removeIndex: number, varitionId, imageType) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm\",\r\n message: \"Are you sure you wish to delete this file?\",\r\n },\r\n });\r\n\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n this.isLoadingService.add();\r\n this.product\r\n .removeImage(varitionId, imageType)\r\n .pipe()\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n\r\n switch (imageType) {\r\n case 4:\r\n this.topViewUploadedFile[removeIndex] = \"\";\r\n this.topViewUploadedFileId[removeIndex] = 0;\r\n this.topViewPreviewUrl[removeIndex] = \"\";\r\n break;\r\n case 5:\r\n this.augmentedViewUploadedFile[removeIndex] = \"\";\r\n this.augmentedViewUploadedFileId[removeIndex] = 0;\r\n this.augmentedViewPreviewUrl[removeIndex] = \"\";\r\n break;\r\n case 6:\r\n this.threeDViewUploadedFile[removeIndex] = \"\";\r\n this.threeDViewUploadedFileId[removeIndex] = 0;\r\n this.threeDViewPreviewUrl[removeIndex] = \"\";\r\n break;\r\n }\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error.Message !== \"undefined\") {\r\n this.alert.danger(err.error.Message);\r\n } else if (\r\n typeof err.error !== \"undefined\" &&\r\n err.error !== null\r\n ) {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n}\r\n\r\ninterface ProductVariationListResponse {\r\n status: boolean;\r\n message: string;\r\n data: ProductVariationListData;\r\n}\r\n\r\ninterface ProductVariationListData {\r\n data: ProductVariation[];\r\n isAllVariationCreated: boolean;\r\n}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\n\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { ProductService } from \"common/services/store/product.service\";\r\nimport { first } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"app-inventory-view\",\r\n templateUrl: \"./inventory-view.component.html\",\r\n styleUrls: [\"./inventory-view.component.css\"],\r\n})\r\nexport class InventoryViewComponent implements OnInit {\r\n config = constEnv;\r\n productListUrl: string;\r\n productId = 0;\r\n variationId = 0;\r\n\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n inventoryLists: InventoryList[] = [];\r\n productInfo: ProductInfo = null;\r\n hasLists = false;\r\n\r\n constructor(\r\n private alert: AlertService,\r\n private loader: LoaderService,\r\n private titleService: TitleService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private product: ProductService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"View Inventory\");\r\n\r\n this.productListUrl = `${this.config.STORE_URL}/product/lists`;\r\n\r\n const id = this.route.snapshot.params.id;\r\n this.productId = typeof id !== \"undefined\" ? id : 0;\r\n if (this.productId <= 0) {\r\n this.router.navigate([this.productListUrl]);\r\n }\r\n\r\n const vid = this.route.snapshot.params.variationId;\r\n this.variationId = typeof vid !== \"undefined\" ? vid : 0;\r\n if (this.variationId <= 0) {\r\n this.router.navigate([this.productListUrl]);\r\n }\r\n\r\n this.createDataTable();\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: 3,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n const pageNo =\r\n (dataTablesParameters.start * 1) / (dataTablesParameters.length * 1);\r\n // const pageNo = dataTablesParameters.start;\r\n const pageSize = dataTablesParameters.length;\r\n\r\n let variationId = this.variationId;\r\n let isVariation = true;\r\n if (this.productId === this.variationId) {\r\n variationId = 0;\r\n isVariation = false;\r\n }\r\n\r\n this.product\r\n .getProductVariationInventoryDetail(\r\n this.productId,\r\n variationId,\r\n isVariation,\r\n pageNo,\r\n pageSize\r\n )\r\n .pipe(first())\r\n .subscribe(\r\n (resp) => {\r\n const data = resp as InventoryViewResponse;\r\n\r\n let paging: Pagination;\r\n if (data.status === true) {\r\n this.inventoryLists = data.data;\r\n this.productInfo = data.ProductInfo;\r\n paging = JSON.parse(data.paging) as Pagination;\r\n // paging = { totalCount: this.productVariationLists.length, totalRowsAfterFiltering: this.productVariationLists.length };\r\n } else {\r\n // paging = { totalCount: 0, totalRowsAfterFiltering: 0 };\r\n this.inventoryLists = [];\r\n this.hasLists = false;\r\n }\r\n\r\n if (this.inventoryLists.length > 0) {\r\n this.hasLists = true;\r\n }\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.hasLists = false;\r\n this.inventoryLists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n\r\n this.loader.hideLoader();\r\n }\r\n );\r\n },\r\n };\r\n }\r\n}\r\n\r\ninterface InventoryViewResponse {\r\n status: boolean;\r\n status_code: number;\r\n message: string;\r\n paging: string;\r\n ProductInfo: ProductInfo;\r\n data: InventoryList[];\r\n}\r\n\r\ninterface InventoryList {\r\n boughtQuantity: number;\r\n createdDate: string;\r\n id: number;\r\n name: string;\r\n orderId: number;\r\n orderNo: string;\r\n productId: number;\r\n productVariationId: number;\r\n reservedQuantity: number;\r\n soldQuantity: number;\r\n stockQuantity: number;\r\n totalStockQuantity: number;\r\n}\r\n\r\ninterface ProductInfo {\r\n productId: number;\r\n productImage: string;\r\n productName: string;\r\n stockQuantity: number;\r\n variationName: string;\r\n}\r\n\r\ninterface Pagination {\r\n totalCount: number;\r\n totalRowsAfterFiltering: number;\r\n pageSize: number;\r\n currentPage: number;\r\n totalPages: number;\r\n previousPage: string;\r\n nextPage: string;\r\n}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\n\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { ProductService } from \"common/services/store/product.service\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { VariationInventory } from \"common/_models/store/variationInventory.model\";\r\n\r\n@Component({\r\n selector: \"app-inventory\",\r\n templateUrl: \"./inventory.component.html\",\r\n styleUrls: [\"./inventory.component.css\"],\r\n})\r\nexport class InventoryComponent implements OnInit {\r\n config = constEnv;\r\n productListUrl: string;\r\n productId = 0;\r\n\r\n productVariationLists: VariationInventory[] = [];\r\n hasVariations = false;\r\n productInfo: ProductInfo = null;\r\n\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n @ViewChild(\"autoShownModal\", { static: false })\r\n autoShownModal: ModalDirective;\r\n isModalShown = false;\r\n\r\n constructor(\r\n private alert: AlertService,\r\n private loader: LoaderService,\r\n private titleService: TitleService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private product: ProductService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Product Inventory\");\r\n\r\n this.productListUrl = `${this.config.STORE_URL}/product/lists`;\r\n\r\n const id = this.route.snapshot.params.id;\r\n this.productId = typeof id !== \"undefined\" ? id : 0;\r\n if (this.productId <= 0) {\r\n this.router.navigate([this.productListUrl]);\r\n }\r\n\r\n this.createDataTable();\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n const pageNo = dataTablesParameters.start;\r\n const pageSize = dataTablesParameters.length;\r\n this.product\r\n .getProductVariationLists(this.productId, pageNo, pageSize)\r\n .pipe(first())\r\n .subscribe(\r\n (resp) => {\r\n console.log(resp);\r\n const data = resp as VariationListsResponse;\r\n let paging: any;\r\n if (data.status === true) {\r\n this.productVariationLists = data.data.map((list) =>\r\n new VariationInventory().deserialize(list)\r\n );\r\n this.productInfo = data.ProductInfo;\r\n paging = {\r\n totalCount: this.productVariationLists.length,\r\n totalRowsAfterFiltering: this.productVariationLists.length,\r\n };\r\n } else {\r\n paging = { totalCount: 0, totalRowsAfterFiltering: 0 };\r\n this.productVariationLists = [];\r\n this.hasVariations = false;\r\n }\r\n\r\n if (this.productVariationLists.length > 0) {\r\n this.hasVariations = true;\r\n }\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.hasVariations = false;\r\n this.productVariationLists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n\r\n this.loader.hideLoader();\r\n }\r\n );\r\n },\r\n };\r\n }\r\n\r\n showModal(): void {\r\n this.isModalShown = true;\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n onHidden(): void {\r\n this.isModalShown = false;\r\n }\r\n}\r\n\r\ninterface VariationListsResponse {\r\n status: boolean;\r\n message: string;\r\n ProductInfo: ProductInfo;\r\n data: VariationInventory[];\r\n paging: string;\r\n}\r\n\r\ninterface ProductInfo {\r\n productId: number;\r\n productName: string;\r\n productImage: string;\r\n variationName: string;\r\n stockQuantity: number;\r\n}\r\n","import { Component, OnInit, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { FormGroup, Validators, FormBuilder, FormArray } from \"@angular/forms\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { Observable, of, Subject } from \"rxjs\";\r\nimport {\r\n catchError,\r\n distinctUntilChanged,\r\n switchMap,\r\n tap,\r\n} from \"rxjs/operators\";\r\nimport { LastminuteDealService } from \"common/services/store/lastminuteDeal.service\";\r\nimport { ProductList } from \"common/_models/site/product-list.modal\";\r\nimport * as moment from \"moment\";\r\n\r\n@Component({\r\n selector: \"app-action\",\r\n templateUrl: \"./action.component.html\",\r\n styleUrls: [\"./action.component.css\"],\r\n})\r\nexport class ActionComponent implements OnInit {\r\n action: string;\r\n id: number;\r\n\r\n cs = constEnv;\r\n\r\n actionForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n btnLable = \"AddLastMinuteDeal\";\r\n pageTitle = \"AddLastMinuteDeal\";\r\n\r\n productsLists$: Observable;\r\n productsLoading = false;\r\n productsInput$ = new Subject();\r\n selectedProducts: any[] = [];\r\n\r\n variationLists: ProductVariation[] = null;\r\n\r\n offerTypes: OfferType[] = null;\r\n canCreateOffer: boolean = false;\r\n productQty: number;\r\n productPrice: number;\r\n\r\n discountType: number = 0;\r\n minDate: Date;\r\n maxDate = new Date();\r\n\r\n listUrl = `${this.cs.STORE_URL}/product/last-minute-deal`;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alert: AlertService,\r\n private titleService: TitleService,\r\n private isLoadingService: IsLoadingService,\r\n private lastMinuteDealService: LastminuteDealService\r\n ) {\r\n this.action = route.snapshot.params.action;\r\n }\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(this.pageTitle);\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n switch (this.action) {\r\n case \"edit\":\r\n // const id = this.route.snapshot.params.id;\r\n // this.id = (typeof id !== 'undefined') ? id : 0;\r\n // if (this.id <= 0) {\r\n // this.router.navigate([categoryURL]);\r\n // }\r\n\r\n // this.btnLable = 'EditProductSubCategory';\r\n // this.pageTitle = 'EditProductSubCategory';\r\n\r\n // if (this.id > 0) {\r\n // this.ls.showLoader();\r\n // this.categoryService.subCategoryGet(this.id)\r\n // .pipe(first())\r\n // .subscribe(\r\n // data => {\r\n // if (data['status'] === true) {\r\n // this.categoryData = data['data'];\r\n\r\n // for (let i = 1; i <= this.categoryData.DisplayOrderNextValue; i++) {\r\n // this.displayOrderCounts.push(i);\r\n // }\r\n\r\n // this.actionForm.get('catID').setValue(this.categoryData.subCatId);\r\n // this.actionForm.get('mainCateId').setValue(this.categoryData.catId);\r\n // // this.actionForm.get('displayOrder').setValue(this.categoryData.DisplayOrder);\r\n\r\n // const catNamesControls = this.actionForm.get('catNames');\r\n\r\n // this.languages.forEach((singleRow, index) => {\r\n // const l_index = index;\r\n // this.categoryData.languages.forEach(row => {\r\n // if (singleRow.id === row.langKey) {\r\n // catNamesControls['controls'][l_index].get('catName').setValue(row.langValue);\r\n // }\r\n // });\r\n // });\r\n\r\n // this.ls.hideLoader();\r\n // } else {\r\n // this.alert.danger(data['message']);\r\n // this.ls.hideLoader();\r\n // }\r\n // },\r\n // err => {\r\n // this.alert.danger(err.error.message);\r\n // this.ls.hideLoader();\r\n // });\r\n // }\r\n break;\r\n\r\n case \"add\":\r\n this.createActionForm();\r\n this.loadAutocompleteProducts();\r\n break;\r\n\r\n default:\r\n this.router.navigate([this.listUrl]);\r\n break;\r\n }\r\n\r\n this.minDate = new Date();\r\n // this.maxDate.setDate( this.minDate.getDate() + 4 );\r\n this.maxDate.setHours(this.minDate.getHours() + 72);\r\n }\r\n\r\n createActionForm() {\r\n this.actionForm = this.formBuilder.group({\r\n productId: [null, Validators.required],\r\n productVariationId: [null],\r\n quantity: [null],\r\n offerEndsOn: [null],\r\n offerType: [null],\r\n discountPercent: [null],\r\n discountAmount: [null],\r\n });\r\n }\r\n\r\n trackByFnAttributes(item: ProductList) {\r\n return item.productId;\r\n }\r\n\r\n getProductInfo($event: ProductList) {\r\n this.variationLists = [];\r\n this.canCreateOffer = false;\r\n this.productQty = null;\r\n this.actionForm.get(\"productVariationId\").clearValidators();\r\n this.actionForm.get(\"productVariationId\").setValue(null);\r\n this.actionForm.get(\"productVariationId\").updateValueAndValidity();\r\n\r\n this.clearFieldValidation();\r\n\r\n if (typeof $event !== \"undefined\") {\r\n this.lastMinuteDealService.getProductInfo($event.productId).subscribe(\r\n (data) => {\r\n const res = data as ProductInfoResponse;\r\n\r\n if (res.status === true) {\r\n this.offerTypes = res.data.offerTypeData as OfferType[];\r\n\r\n const productDetail = res.data.productDetails;\r\n if (productDetail.hasVariations === true) {\r\n this.actionForm\r\n .get(\"productVariationId\")\r\n .setValidators([Validators.required]);\r\n this.actionForm\r\n .get(\"productVariationId\")\r\n .updateValueAndValidity();\r\n this.variationLists = productDetail.variations;\r\n } else {\r\n if (productDetail.currentStockQuantity > 0) {\r\n this.canCreateOffer = true;\r\n this.productQty = productDetail.currentStockQuantity;\r\n this.productPrice = productDetail.productPrice;\r\n this.makeFieldRequired();\r\n }\r\n this.productQty = productDetail.currentStockQuantity;\r\n }\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n // this.alert.danger(msg);\r\n }\r\n this.variationLists = [];\r\n this.canCreateOffer = false;\r\n this.actionForm.get(\"productVariationId\").clearValidators();\r\n this.actionForm.get(\"productVariationId\").updateValueAndValidity();\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n }\r\n\r\n changeVariation($event: ProductVariation) {\r\n this.canCreateOffer = false;\r\n this.productQty = 0;\r\n this.clearFieldValidation();\r\n\r\n if (typeof $event !== \"undefined\") {\r\n if ($event.currentStockQuantity > 0) {\r\n this.canCreateOffer = true;\r\n this.productQty = $event.currentStockQuantity;\r\n this.productPrice = $event.productPrice;\r\n this.makeFieldRequired();\r\n }\r\n }\r\n }\r\n\r\n makeFieldRequired() {\r\n this.actionForm\r\n .get(\"quantity\")\r\n .setValidators([\r\n Validators.required,\r\n Validators.min(1),\r\n Validators.max(this.productQty),\r\n ]);\r\n this.actionForm.get(\"quantity\").updateValueAndValidity();\r\n\r\n this.actionForm.get(\"offerEndsOn\").setValidators([Validators.required]);\r\n this.actionForm.get(\"offerEndsOn\").updateValueAndValidity();\r\n\r\n this.actionForm.get(\"offerType\").setValidators([Validators.required]);\r\n this.actionForm.get(\"offerType\").updateValueAndValidity();\r\n }\r\n\r\n clearFieldValidation() {\r\n this.actionForm.get(\"quantity\").clearValidators();\r\n this.actionForm.get(\"quantity\").setValue(null);\r\n this.actionForm.get(\"quantity\").updateValueAndValidity();\r\n\r\n this.actionForm.get(\"offerEndsOn\").clearValidators();\r\n this.actionForm.get(\"offerEndsOn\").setValue(null);\r\n this.actionForm.get(\"offerEndsOn\").updateValueAndValidity();\r\n\r\n this.actionForm.get(\"offerType\").clearValidators();\r\n this.actionForm.get(\"offerType\").setValue(null);\r\n this.actionForm.get(\"offerType\").updateValueAndValidity();\r\n\r\n this.actionForm.get(\"discountPercent\").clearValidators();\r\n this.actionForm.get(\"discountPercent\").setValue(null);\r\n this.actionForm.get(\"discountPercent\").updateValueAndValidity();\r\n\r\n this.actionForm.get(\"discountAmount\").clearValidators();\r\n this.actionForm.get(\"discountAmount\").setValue(null);\r\n this.actionForm.get(\"discountAmount\").updateValueAndValidity();\r\n }\r\n\r\n loadAutocompleteProducts() {\r\n this.productsLists$ = this.productsInput$.pipe(\r\n distinctUntilChanged(),\r\n tap(() => (this.productsLoading = true)),\r\n switchMap((term) =>\r\n this.lastMinuteDealService.searchProductList(term).pipe(\r\n catchError(() => of([])), // empty list on error\r\n tap(() => (this.productsLoading = false))\r\n )\r\n )\r\n );\r\n }\r\n\r\n changeOfferType($event: OfferType) {\r\n this.actionForm.get(\"discountPercent\").clearValidators();\r\n this.actionForm.get(\"discountPercent\").setValue(null);\r\n this.actionForm.get(\"discountPercent\").updateValueAndValidity();\r\n\r\n this.actionForm.get(\"discountAmount\").clearValidators();\r\n this.actionForm.get(\"discountAmount\").setValue(null);\r\n this.actionForm.get(\"discountAmount\").updateValueAndValidity();\r\n\r\n this.discountType = 0;\r\n\r\n if (typeof $event !== \"undefined\") {\r\n if ($event.offerTypeId === 2) {\r\n this.actionForm\r\n .get(\"discountPercent\")\r\n .setValidators([\r\n Validators.required,\r\n Validators.min(1),\r\n Validators.max(99),\r\n ]);\r\n this.actionForm.get(\"discountPercent\").updateValueAndValidity();\r\n } else if ($event.offerTypeId === 3) {\r\n this.actionForm\r\n .get(\"discountAmount\")\r\n .setValidators([\r\n Validators.required,\r\n Validators.min(1),\r\n Validators.max(this.productPrice - 1),\r\n ]);\r\n this.actionForm.get(\"discountAmount\").updateValueAndValidity();\r\n }\r\n this.discountType = $event.offerTypeId;\r\n }\r\n }\r\n\r\n getErrorQty() {\r\n return this.actionForm.get(\"quantity\").hasError(\"required\")\r\n ? \"\"\r\n : this.actionForm.get(\"quantity\").hasError(\"min\")\r\n ? \"QuantityValidation\"\r\n : // ? this.titleService.getTranslatedString(\"QuantityValidation\")\r\n this.actionForm.get(\"quantity\").hasError(\"max\")\r\n ? \"Quantitymorethenstock\"\r\n : // ? this.titleService.getTranslatedString(\"Quantitymorethenstock\")\r\n \"\";\r\n }\r\n\r\n getErrorDiscountAmount() {\r\n return this.actionForm.get(\"discountAmount\").hasError(\"required\")\r\n ? \"\"\r\n : this.actionForm.get(\"discountAmount\").hasError(\"min\")\r\n ? \"ProductPriceValidation\"\r\n : // ? this.titleService.getTranslatedString(\"ProductPriceValidation\")\r\n this.actionForm.get(\"discountAmount\").hasError(\"max\")\r\n ? \"PriceGreateThenProductPrice\"\r\n : // ? this.titleService.getTranslatedString(\"PriceGreateThenProductPrice\")\r\n \"\";\r\n }\r\n\r\n getErrorDiscountPer() {\r\n return this.actionForm.get(\"discountPercent\").hasError(\"required\")\r\n ? \"\"\r\n : this.actionForm.get(\"discountPercent\").hasError(\"min\")\r\n ? \"ProductPriceValidation\"\r\n : // ? this.titleService.getTranslatedString(\"ProductPriceValidation\")\r\n this.actionForm.get(\"discountPercent\").hasError(\"max\")\r\n ? \"DiscountPercentValidation\"\r\n : // ? this.titleService.getTranslatedString(\"DiscountPercentValidation\")\r\n \"\";\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n if (this.actionForm.invalid) {\r\n return;\r\n }\r\n // const offerEndDate = new Date(this.actionForm.value.offerEndsOn);\r\n const offerEndDate = moment(this.actionForm.value.offerEndsOn).format(\r\n \"YYYY-MM-DD HH:mm:ss\"\r\n );\r\n\r\n // const offerEndsOn = new Date(this.actionForm.value.offerEndsOn);\r\n // const m = ((offerEndsOn.getMonth() * 1) + 1);\r\n // const month = (m >= 1 && m <= 9) ? '0'+m : m;\r\n // const day = (offerEndsOn.getDate() >= 1 && offerEndsOn.getDate() <= 9) ? '0'+offerEndsOn.getDate() : offerEndsOn.getDate();\r\n // const offerEndDate = new Date(offerEndsOn.getFullYear()+'-'+month+'-'+day);\r\n\r\n this.actionForm.value.offerEndsOn = offerEndDate;\r\n this.actionForm.value.productVariationId =\r\n this.actionForm.value.productVariationId === null\r\n ? 0\r\n : this.actionForm.value.productVariationId;\r\n this.actionForm.value.discountPercent =\r\n this.actionForm.value.discountPercent === null\r\n ? 0\r\n : this.actionForm.value.discountPercent;\r\n this.actionForm.value.discountAmount =\r\n this.actionForm.value.discountAmount === null\r\n ? 0\r\n : this.actionForm.value.discountAmount;\r\n console.log(this.actionForm.value);\r\n this.isLoadingService.add();\r\n this.lastMinuteDealService\r\n .createLastMinuteDeal(this.actionForm.value)\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.router.navigate([this.listUrl]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface ProductInfoResponse {\r\n status: boolean;\r\n message: string;\r\n data: ProductData;\r\n}\r\n\r\ninterface ProductData {\r\n productDetails: ProductDetail;\r\n offerTypeData: OfferType[];\r\n}\r\n\r\ninterface ProductDetail {\r\n productId: number;\r\n productName: string;\r\n hasVariations: boolean;\r\n currentStockQuantity: number;\r\n productPrice: number;\r\n variations: ProductVariation[];\r\n}\r\n\r\ninterface ProductVariation {\r\n variationId: number;\r\n variationName: string;\r\n selected: boolean;\r\n productPrice: number;\r\n currentStockQuantity: number;\r\n}\r\n\r\ninterface OfferType {\r\n offerTypeId: number;\r\n offerTypeName: string;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\n\r\nimport { ListComponent } from './list/list.component';\r\nimport { ActionComponent } from './action/action.component';\r\n\r\nconst routeBase = `${constEnv.storeEndPoint}/product`;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${routeBase}/last-minute-deal`,\r\n children: [\r\n {\r\n path: ':action',\r\n children: [\r\n {path: ':id', component: ActionComponent},\r\n {path: '', component: ActionComponent}\r\n ]\r\n },\r\n {path: '', component: ListComponent}\r\n ],\r\n canActivate: [AuthGuard]\r\n },\r\n // {path: `${routeStore}/category`, component: ListComponent}\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class LastMinuteDealRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ComponentModule } from 'common/_components/components.module';\r\nimport { DataTablesModule } from 'angular-datatables';\r\nimport { TemplateDefaultModule } from '../../../shared/template-default/template-default.module';\r\nimport { MaterialModule } from 'common/modules/material.module';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { MyDirectiveModule } from 'common/directives/my-directive.module';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\n\r\nimport { LastMinuteDealRoutingModule } from './last-minute-deal-routing.module';\r\nimport { ListComponent } from './list/list.component';\r\nimport { ActionComponent } from './action/action.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [ListComponent, ActionComponent],\r\n imports: [\r\n CommonModule,\r\n LastMinuteDealRoutingModule,\r\n RouterModule,\r\n TranslateModule.forRoot(),\r\n ReactiveFormsModule,\r\n ComponentModule,\r\n ModalModule.forRoot(),\r\n DataTablesModule,\r\n TemplateDefaultModule,\r\n MaterialModule,\r\n NgSelectModule,\r\n MyDirectiveModule\r\n ]\r\n})\r\nexport class LastMinuteDealModule { }\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\n\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { LastminuteDealService } from \"common/services/store/lastminuteDeal.service\";\r\nimport { ConfirmDialogComponent } from \"common/_components/confirm-dialog/confirm-dialog.component\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\n\r\n@Component({\r\n selector: \"app-list\",\r\n templateUrl: \"./list.component.html\",\r\n styleUrls: [\"./list.component.css\"],\r\n})\r\nexport class ListComponent implements OnInit {\r\n config = constEnv;\r\n\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n lists: LMDList[] = [];\r\n\r\n @ViewChild(\"autoShownModal\", { static: false })\r\n autoShownModal: ModalDirective;\r\n isModalShown = false;\r\n\r\n itemDetail: LMDInfo = null;\r\n\r\n pageTitle = \"Last Minute Deal\";\r\n\r\n constructor(\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService,\r\n private dialog: MatDialog,\r\n private LastminuteDealService: LastminuteDealService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(this.pageTitle);\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.createDataTable();\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: 2,\r\n language: {\r\n emptyTable: \"Last Minute Deal is empty!\",\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n let paging: Paging = null;\r\n this.LastminuteDealService.getAll(dataTablesParameters).subscribe(\r\n (data) => {\r\n const res = data as LMDResponse;\r\n if (res.status === true) {\r\n this.lists = res.data as LMDList[];\r\n\r\n paging = JSON.parse(res.paging) as Paging;\r\n // paging = { totalCount: this.categoryLists.length, totalRowsAfterFiltering: this.categoryLists.length };\r\n } else {\r\n paging = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n } as Paging;\r\n this.alert.danger(res.message);\r\n this.lists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.lists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n },\r\n // columns: [{ data: 'id' }, { data: 'firstName' }, { data: 'lastName' }]\r\n };\r\n }\r\n\r\n viewLastMinuteDeal(id: number): void {\r\n this.LastminuteDealService.getLastMinuteDeal(id).subscribe(\r\n (data) => {\r\n const res = data as SingleResponse;\r\n if (res.status === true) {\r\n this.itemDetail = res.data;\r\n this.isModalShown = true;\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n onHidden(): void {\r\n this.itemDetail = null;\r\n this.isModalShown = false;\r\n }\r\n\r\n changeStatus(id, status) {\r\n this.isLoadingService.add();\r\n this.LastminuteDealService.changeLMDealStatus(id, status).subscribe(\r\n (data) => {\r\n const res = data as LMDResponse;\r\n if (res.status === true) {\r\n this.alert.success(res.message);\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) =>\r\n dtInstance.draw()\r\n );\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n deleteLMD(id: number) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm\",\r\n message: \"DeleteConfirm\",\r\n },\r\n });\r\n\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n this.isLoadingService.add();\r\n this.LastminuteDealService.deleteLastMinuteDeal(id).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.datatableElement.dtInstance.then(\r\n // (dtInstance: DataTables.Api) => dtInstance.draw()\r\n (dtInstance) => dtInstance.draw()\r\n );\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n}\r\n\r\ninterface LMDResponse {\r\n status: boolean;\r\n message: string;\r\n data: LMDList[];\r\n paging: string;\r\n}\r\n\r\ninterface LMDList {\r\n id: number;\r\n offerEndsOn: string;\r\n offerEndsOnDt: string;\r\n productId: number;\r\n productName: string;\r\n status: boolean;\r\n variationName: string;\r\n}\r\n\r\ninterface Paging {\r\n totalCount: number;\r\n totalRowsAfterFiltering: number;\r\n pageSize: number;\r\n currentPage: number;\r\n totalPages: number;\r\n previousPage: string;\r\n nextPage: string;\r\n}\r\n\r\ninterface SingleResponse {\r\n status: boolean;\r\n message: string;\r\n data: LMDInfo;\r\n}\r\n\r\ninterface LMDInfo {\r\n id: number;\r\n productName: string;\r\n variationName: string;\r\n quantity: number;\r\n offerEndsOn: string;\r\n offerEndsOnDt: Date;\r\n offerType: number;\r\n offerTypeName: string;\r\n discountAmount: number;\r\n discountPercent: number;\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { ProductService } from \"common/services/store/product.service\";\r\n\r\nimport { Product } from \"common/_models/store/product.model\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { PageChangedEvent } from \"ngx-bootstrap/pagination\";\r\nimport { ConfirmDialogComponent } from \"common/_components/confirm-dialog/confirm-dialog.component\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: \"app-list\",\r\n templateUrl: \"./list.component.html\",\r\n styleUrls: [\"./list.component.css\"],\r\n})\r\nexport class ListComponent implements OnInit {\r\n config = constEnv;\r\n\r\n public productLists: Product[];\r\n hasProducts = false;\r\n\r\n pagination: Paging;\r\n itemPerPage = 12;\r\n\r\n searchForm: FormGroup;\r\n\r\n orderFiltersOptions = [\r\n { optionKey: \"ProductName\", optionValue: \"ProductName\" },\r\n { optionKey: \"CategoryName\", optionValue: \"SubCategoryName\" },\r\n { optionKey: \"Status\", optionValue: \"Status\" },\r\n ];\r\n\r\n searchParams: any = [];\r\n\r\n constructor(\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService,\r\n private product: ProductService,\r\n private dialog: MatDialog,\r\n private fb: FormBuilder\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"STORE_Products\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.pagination = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n pageSize: this.itemPerPage,\r\n currentPage: 0,\r\n totalPages: 0,\r\n previousPage: \"\",\r\n nextPage: \"\",\r\n };\r\n const paging = { page: 0, itemsPerPage: this.itemPerPage };\r\n\r\n this.loadProductLists(paging);\r\n this.createSearchForm();\r\n }\r\n\r\n loadProductLists(paging: PageChangedEvent) {\r\n this.isLoadingService.add();\r\n\r\n paging.page = paging.page > 0 ? paging.page - 1 : 0;\r\n paging.itemsPerPage = paging.itemsPerPage\r\n ? paging.itemsPerPage\r\n : this.itemPerPage;\r\n\r\n this.product\r\n .getAll(paging, this.searchParams)\r\n .pipe(first())\r\n .subscribe(\r\n (resp) => {\r\n if (resp[\"status\"] === true) {\r\n this.productLists = resp[\"data\"].map((list) =>\r\n new Product().deserialize(list)\r\n );\r\n this.pagination = JSON.parse(resp[\"Paging\"]);\r\n } else {\r\n this.pagination.totalCount = 0;\r\n this.pagination.totalRowsAfterFiltering = 0;\r\n this.productLists = [];\r\n this.hasProducts = false;\r\n }\r\n\r\n if (this.productLists.length > 0) {\r\n this.hasProducts = true;\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n this.productLists = [];\r\n this.pagination.totalCount = 0;\r\n this.pagination.totalRowsAfterFiltering = 0;\r\n this.hasProducts = false;\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n createSearchForm() {\r\n this.searchForm = this.fb.group({\r\n filterBy: [this.orderFiltersOptions[0].optionKey],\r\n filterText: [\"\"],\r\n });\r\n }\r\n\r\n filterCHange() {\r\n this.searchForm.get(\"filterText\").setValue(\"\");\r\n this.searchParams = [];\r\n }\r\n\r\n resetSearchForm() {\r\n this.searchForm.reset();\r\n this.searchForm\r\n .get(\"filterBy\")\r\n .setValue(this.orderFiltersOptions[0].optionKey);\r\n this.searchParams = [];\r\n\r\n const paging = { page: 0, itemsPerPage: this.itemPerPage };\r\n\r\n this.loadProductLists(paging);\r\n }\r\n\r\n delete(productId) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm\",\r\n message: \"DeleteProductConfirm\",\r\n },\r\n });\r\n\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n if (productId > 0) {\r\n this.isLoadingService.add();\r\n this.product.delete(productId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n const paging = { page: 0, itemsPerPage: this.itemPerPage };\r\n this.isLoadingService.remove();\r\n this.loadProductLists(paging);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n this.alert.danger(err.error.message);\r\n // this.modalRef.hide();\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n }\r\n });\r\n }\r\n\r\n searchSubmit() {\r\n if (this.searchForm.invalid) {\r\n return;\r\n }\r\n\r\n this.searchParams = {\r\n searchBy: this.searchForm.value.filterBy,\r\n searchValue: this.searchForm.value.filterText,\r\n };\r\n const paging = { page: 0, itemsPerPage: this.itemPerPage };\r\n\r\n this.loadProductLists(paging);\r\n }\r\n\r\n updateStatus(productId, status) {\r\n if (productId > 0) {\r\n this.isLoadingService.add();\r\n this.product.changeStatus(productId, status).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n const paging = { page: 0, itemsPerPage: this.itemPerPage };\r\n this.isLoadingService.remove();\r\n this.loadProductLists(paging);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n this.alert.danger(err.error.message);\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n this.isLoadingService.remove();\r\n }\r\n }\r\n\r\n publishProduct(productId, status, isPublish) {\r\n if (productId > 0) {\r\n if (!isPublish) {\r\n this.isLoadingService.add();\r\n this.product.publishProduct(productId, status).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n const paging = { page: 0, itemsPerPage: this.itemPerPage };\r\n this.isLoadingService.remove();\r\n this.loadProductLists(paging);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n this.alert.danger(err.error.message);\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n this.isLoadingService.remove();\r\n }\r\n }\r\n }\r\n showPublishButton(productList) {\r\n if (productList.isPublish) {\r\n return false;\r\n }\r\n if (\r\n productList.productType === 2 &&\r\n productList.variationProductCount === 0\r\n ) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\nexport interface Paging {\r\n totalCount: number;\r\n totalRowsAfterFiltering: number;\r\n pageSize: number;\r\n currentPage: number;\r\n totalPages: number;\r\n previousPage: string;\r\n nextPage: string;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\n\r\nimport { ListComponent } from './list/list.component';\r\nimport { AddProductComponent } from './add-product/add-product.component';\r\n\r\nimport { EditComponent } from './edit-product/edit/edit.component';\r\nimport { AttributesComponent } from './edit-product/attributes/attributes.component';\r\nimport { VariationsComponent } from './edit-product/variations/variations.component';\r\nimport { InventoryComponent } from './inventory/inventory.component';\r\nimport { InventoryViewComponent } from './inventory-view/inventory-view.component';\r\n\r\nconst STORE_ENDPOINT = `${constEnv.storeEndPoint}/product`;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${STORE_ENDPOINT}` ,\r\n children: [\r\n { path: 'lists' , component: ListComponent },\r\n { path: 'add' , component: AddProductComponent },\r\n {\r\n path: 'edit',\r\n children: [\r\n {\r\n path: ':id',\r\n children: [\r\n { path: 'attributes', component: AttributesComponent },\r\n { path: 'variations', component: VariationsComponent },\r\n { path: '', component: EditComponent }\r\n ]\r\n },\r\n {path: '', component: EditComponent }\r\n ]\r\n },\r\n {\r\n path: ':id',\r\n children: [\r\n {\r\n path: 'inventory',\r\n children: [\r\n { path: 'view/:variationId', component: InventoryViewComponent },\r\n { path: '', component: InventoryComponent }\r\n ]\r\n },\r\n { path: '', component: InventoryComponent }\r\n ]\r\n },\r\n { path: '' , redirectTo: `${STORE_ENDPOINT}/lists`, pathMatch: 'full' },\r\n ],\r\n canActivate: [AuthGuard]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ProductsRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { CategoryModule } from './category/category.module';\r\nimport { ProductsRoutingModule } from './products-routing.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MaterialModule } from 'common/modules/material.module';\r\nimport { DataTablesModule } from 'angular-datatables';\r\nimport { TemplateDefaultModule } from '../../shared/template-default/template-default.module';\r\nimport { ListComponent } from './list/list.component';\r\nimport { AddProductComponent } from './add-product/add-product.component';\r\nimport { AngularMultiSelectModule } from 'angular2-multiselect-dropdown';\r\nimport { EditProductModule } from './edit-product/edit-product.module';\r\nimport { InventoryComponent } from './inventory/inventory.component';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { InventoryViewComponent } from './inventory-view/inventory-view.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\r\nimport { MyDirectiveModule } from 'common/directives/my-directive.module';\r\nimport { SpecificationModule } from './specification/specification.module';\r\nimport { LastMinuteDealModule } from './last-minute-deal/last-minute-deal.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [ListComponent, AddProductComponent, InventoryComponent, InventoryViewComponent],\r\n imports: [\r\n CommonModule,\r\n CategoryModule,\r\n LastMinuteDealModule,\r\n SpecificationModule,\r\n ProductsRoutingModule,\r\n RouterModule,\r\n TranslateModule.forRoot(),\r\n ReactiveFormsModule,\r\n DataTablesModule,\r\n TemplateDefaultModule,\r\n MaterialModule,\r\n AngularMultiSelectModule,\r\n EditProductModule,\r\n ModalModule.forRoot(),\r\n NgSelectModule,\r\n MyDirectiveModule,\r\n PaginationModule.forRoot()\r\n ]\r\n})\r\nexport class ProductsModule { }\r\n","import {\r\n Component,\r\n OnInit,\r\n TemplateRef,\r\n ChangeDetectorRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { SpecificationService } from \"common/services/store/specification.service\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport {\r\n FormArray,\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\n\r\n@Component({\r\n selector: \"app-list\",\r\n templateUrl: \"./list.component.html\",\r\n styleUrls: [\"./list.component.css\"],\r\n})\r\nexport class ListComponent implements OnInit {\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n config = constEnv;\r\n\r\n lists: SpecificationList[] = null;\r\n\r\n loading = false;\r\n\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n @ViewChild(\"actionModal\", { static: false }) actionModal: ModalDirective;\r\n isActionModalShown = false;\r\n\r\n actionForm: FormGroup;\r\n\r\n availableLangs;\r\n\r\n specModalTitle: string;\r\n\r\n constructor(\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService,\r\n private specification: SpecificationService,\r\n private lang: LanguageService,\r\n private fb: FormBuilder\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Specification\");\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.availableLangs = this.lang.getAvailableLanguages();\r\n\r\n this.createDataTable();\r\n }\r\n\r\n createActionForm() {\r\n this.actionForm = this.fb.group({\r\n languagesArray: this.fb.array([]),\r\n });\r\n\r\n this.addAvailableLanguages();\r\n }\r\n\r\n get a() {\r\n return this.actionForm.controls;\r\n }\r\n get l() {\r\n return this.a.languagesArray as FormArray;\r\n }\r\n\r\n trackByFn(index: any) {\r\n return index;\r\n }\r\n\r\n addAvailableLanguages() {\r\n this.availableLangs.forEach((singleLang) => {\r\n this.l.push(\r\n this.fb.group({\r\n specNameId: [0],\r\n specNameLangId: [0],\r\n langId: singleLang.id,\r\n name: [\"\", [Validators.required, this.noWhitespaceValidator]],\r\n })\r\n );\r\n });\r\n }\r\n\r\n public noWhitespaceValidator(control: FormControl) {\r\n const isWhitespace = (control.value || \"\").trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { whitespace: true };\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: 2,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.specification\r\n .getAll(dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n const res = data as SpecificationListsResponse;\r\n let paging: Paging;\r\n if (res.status === true) {\r\n this.lists = res.data as SpecificationList[];\r\n\r\n paging = JSON.parse(res.paging) as Paging;\r\n // paging = { totalCount: this.categoryLists.length, totalRowsAfterFiltering: this.categoryLists.length };\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.lists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n // this.alert.danger(msg);\r\n this.lists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n },\r\n // columns: [{ data: 'id' }, { data: 'firstName' }, { data: 'lastName' }]\r\n };\r\n }\r\n\r\n showModal(action: string = \"add\", specId: number = 0): void {\r\n if (action === \"add\") {\r\n this.specModalTitle = \"CreateSpecification\";\r\n this.createActionForm();\r\n this.isActionModalShown = true;\r\n } else {\r\n this.isLoadingService.add();\r\n this.specification.getSpecification(specId).subscribe(\r\n (data) => {\r\n const res = data as SpecificationListsResponse;\r\n\r\n if (res.status === true) {\r\n this.createActionForm();\r\n\r\n let languageWiseData = [];\r\n res.data.forEach((single) => {\r\n languageWiseData[single.langId] = single;\r\n });\r\n\r\n this.l.controls.forEach((singleRow, i) => {\r\n const singleLang =\r\n typeof languageWiseData[singleRow.value.langId] !== \"undefined\"\r\n ? languageWiseData[singleRow.value.langId]\r\n : [];\r\n if (singleLang) {\r\n this.l.controls[i].get(\"name\").setValue(singleLang.name);\r\n this.l.controls[i]\r\n .get(\"specNameId\")\r\n .setValue(singleLang.specNameId);\r\n this.l.controls[i]\r\n .get(\"specNameLangId\")\r\n .setValue(singleLang.specNameLangId);\r\n }\r\n });\r\n\r\n this.isActionModalShown = true;\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n\r\n this.specModalTitle = \"Update Specification\";\r\n }\r\n }\r\n\r\n onHidden(): void {\r\n this.isActionModalShown = false;\r\n this.actionForm.reset();\r\n }\r\n\r\n hideModal(): void {\r\n this.actionModal.hide();\r\n }\r\n\r\n onActionSubmit() {\r\n if (this.actionForm.invalid) {\r\n return;\r\n }\r\n\r\n this.isLoadingService.add();\r\n\r\n this.specification\r\n .addEditSpecification(this.actionForm.value.languagesArray)\r\n .subscribe(\r\n (data) => {\r\n const res = data as SpecActionResponse;\r\n if (res.status === true) {\r\n this.hideModal();\r\n this.datatableElement.dtInstance.then(\r\n // (dtInstance: DataTables.Api) => dtInstance.draw()\r\n (dtInstance) => dtInstance.draw()\r\n );\r\n this.alert.success(res.message);\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface SpecificationListsResponse {\r\n status: boolean;\r\n message: string;\r\n data: SpecificationList[];\r\n paging: string;\r\n}\r\n\r\ninterface Paging {\r\n totalCount: number;\r\n totalRowsAfterFiltering: number;\r\n pageSize: number;\r\n currentPage: number;\r\n totalPages: number;\r\n previousPage: string;\r\n nextPage: string;\r\n}\r\n\r\ninterface SpecificationList {\r\n langId: number;\r\n langName: string;\r\n name: string;\r\n specNameId: number;\r\n specNameLangId: number;\r\n}\r\n\r\ninterface SpecActionResponse {\r\n status: boolean;\r\n message: string;\r\n data: any[];\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\nimport { ListComponent } from './list/list.component';\r\nimport { ValuesComponent } from './values/values.component';\r\nimport { constEnv } from 'common/constants.env';\r\n\r\nconst routeBase = `${constEnv.storeEndPoint}/product`;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${routeBase}/specification`,\r\n children: [\r\n {\r\n path: ':specid',\r\n children: [\r\n {path: 'values', component: ValuesComponent},\r\n {path: '', component: ValuesComponent}\r\n ]\r\n },\r\n {path: '', component: ListComponent}\r\n ],\r\n canActivate: [AuthGuard]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class SpecificationRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { ComponentModule } from 'common/_components/components.module';\r\nimport { DataTablesModule } from 'angular-datatables';\r\nimport { TemplateDefaultModule } from '../../../shared/template-default/template-default.module';\r\nimport { MaterialModule } from 'common/modules/material.module';\r\n\r\nimport { SpecificationRoutingModule } from './specification-routing.module';\r\nimport { ListComponent } from './list/list.component';\r\nimport { ValuesComponent } from './values/values.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [ListComponent, ValuesComponent],\r\n imports: [\r\n CommonModule, \r\n RouterModule,\r\n TranslateModule.forRoot(),\r\n ModalModule.forRoot(),\r\n ReactiveFormsModule,\r\n ComponentModule,\r\n DataTablesModule,\r\n TemplateDefaultModule,\r\n MaterialModule,\r\n SpecificationRoutingModule\r\n ]\r\n})\r\nexport class SpecificationModule { }\r\n","import {\r\n Component,\r\n OnInit,\r\n TemplateRef,\r\n ChangeDetectorRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { SpecificationService } from \"common/services/store/specification.service\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { FormArray, FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"app-values\",\r\n templateUrl: \"./values.component.html\",\r\n styleUrls: [\"./values.component.css\"],\r\n})\r\nexport class ValuesComponent implements OnInit {\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n config = constEnv;\r\n\r\n lists: SpecificationValueList[] = null;\r\n specid: number = 0;\r\n\r\n loading = false;\r\n\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n @ViewChild(\"actionModal\", { static: false }) actionModal: ModalDirective;\r\n isActionModalShown = false;\r\n\r\n actionForm: FormGroup;\r\n editActionForm: FormGroup;\r\n\r\n availableLangs;\r\n\r\n action = \"add\";\r\n\r\n specModalTitle: string;\r\n\r\n constructor(\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService,\r\n private specification: SpecificationService,\r\n private lang: LanguageService,\r\n private fb: FormBuilder,\r\n private matDialog: MatDialog,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"SpecificationValues\");\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n const id = this.route.snapshot.params.specid;\r\n this.specid = typeof id !== \"undefined\" ? id : 0;\r\n if (this.specid <= 0) {\r\n this.router.navigate([`${this.config.STORE_URL}/product/specification`]);\r\n }\r\n\r\n this.availableLangs = this.lang.getAvailableLanguages();\r\n\r\n this.createDataTable();\r\n }\r\n\r\n createActionForm() {\r\n this.actionForm = this.fb.group({\r\n languagesArray: this.fb.array([]),\r\n });\r\n\r\n this.addAvailableLanguages();\r\n\r\n this.editActionForm = this.fb.group({\r\n specValueLangId: [0],\r\n value: [\"\", Validators.required],\r\n specValueList: this.fb.array([]),\r\n specNameLangIdList: this.fb.array([]),\r\n });\r\n }\r\n\r\n get a() {\r\n return this.actionForm.controls;\r\n }\r\n get l() {\r\n return this.a.languagesArray as FormArray;\r\n }\r\n\r\n trackByFn(index: any) {\r\n return index;\r\n }\r\n\r\n addAvailableLanguages() {\r\n this.availableLangs.forEach((singleLang) => {\r\n this.l.push(\r\n this.fb.group({\r\n specValueLangId: [0],\r\n value: [\"\"],\r\n specValueList: [\"\", Validators.required],\r\n specNameLangIdList: [\"\"],\r\n langId: [singleLang.id],\r\n })\r\n );\r\n });\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: 2,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.specification\r\n .getAllSpecValue(this.specid, dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n const res = data as SpecificationValueListsResponse;\r\n let paging: Paging;\r\n if (res.status === true) {\r\n this.lists = res.data as SpecificationValueList[];\r\n\r\n paging = JSON.parse(res.paging) as Paging;\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.lists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.lists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n },\r\n // columns: [{ data: 'id' }, { data: 'firstName' }, { data: 'lastName' }]\r\n };\r\n }\r\n\r\n showModal(action: string = \"add\", specId: number = 0): void {\r\n if (action === \"add\") {\r\n this.action = \"add\";\r\n this.specModalTitle = \"Create Specification Value\";\r\n this.createActionForm();\r\n\r\n this.isLoadingService.add();\r\n this.specification.getCreateSpecification(this.specid).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n const res = data[\"data\"];\r\n if (typeof res[\"specLangData\"] !== \"undefined\") {\r\n let languageWiseData = [];\r\n res[\"specLangData\"].forEach((specLang) => {\r\n languageWiseData[specLang[\"langId\"]] =\r\n specLang[\"specNameLangId\"];\r\n });\r\n\r\n this.l.controls.forEach((singleRow, i) => {\r\n const singleLang =\r\n typeof languageWiseData[singleRow.value.langId] !==\r\n \"undefined\"\r\n ? languageWiseData[singleRow.value.langId]\r\n : 0;\r\n if (singleLang > 0) {\r\n this.l.controls[i]\r\n .get(\"specNameLangIdList\")\r\n .setValue(singleLang);\r\n }\r\n });\r\n this.isLoadingService.remove();\r\n this.isActionModalShown = true;\r\n }\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n } else {\r\n this.action = \"edit\";\r\n this.isLoadingService.add();\r\n this.specification.getSpecificationValue(specId).subscribe(\r\n (data) => {\r\n const res = data as SpecificationValueResponse;\r\n\r\n if (res.status === true) {\r\n this.createActionForm();\r\n\r\n this.editActionForm\r\n .get(\"specValueLangId\")\r\n .setValue(res.data[0].specValueLangId);\r\n this.editActionForm.get(\"value\").setValue(res.data[0].value);\r\n\r\n this.isActionModalShown = true;\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n\r\n this.specModalTitle = \"Update Specification Value\";\r\n }\r\n }\r\n\r\n onHidden(): void {\r\n this.isActionModalShown = false;\r\n this.actionForm.reset();\r\n this.editActionForm.reset();\r\n\r\n this.action = \"add\";\r\n }\r\n\r\n hideModal(): void {\r\n this.actionModal.hide();\r\n }\r\n\r\n onActionSubmit() {\r\n if (this.actionForm.invalid) {\r\n return;\r\n }\r\n\r\n this.isLoadingService.add();\r\n\r\n const langValueLists = [];\r\n const specNameLangIdList = [];\r\n this.actionForm.value.languagesArray.forEach((element) => {\r\n langValueLists.push(element.specValueList);\r\n specNameLangIdList.push(element.specNameLangIdList);\r\n });\r\n\r\n const formData = {\r\n specValueLangId: 0,\r\n value: \"\",\r\n specValueList: langValueLists,\r\n specNameLangIdList: specNameLangIdList,\r\n };\r\n\r\n this.addEditSPecValue(formData);\r\n }\r\n\r\n onEditActionSubmit() {\r\n if (this.editActionForm.invalid) {\r\n return;\r\n }\r\n\r\n this.isLoadingService.add();\r\n\r\n const formData = {\r\n specValueLangId: this.editActionForm.value.specValueLangId,\r\n value: this.editActionForm.value.value,\r\n specValueList: [],\r\n specNameLangIdList: [],\r\n };\r\n\r\n this.addEditSPecValue(formData);\r\n }\r\n\r\n addEditSPecValue(formData) {\r\n this.specification.addEditSpecificationValue(formData).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.hideModal();\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) =>\r\n dtInstance.draw()\r\n );\r\n this.alert.success(data[\"message\"]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface SpecificationValueListsResponse {\r\n status: boolean;\r\n message: string;\r\n data: any[];\r\n paging: string;\r\n}\r\n\r\ninterface Paging {\r\n totalCount: number;\r\n totalRowsAfterFiltering: number;\r\n pageSize: number;\r\n currentPage: number;\r\n totalPages: number;\r\n previousPage: string;\r\n nextPage: string;\r\n}\r\n\r\ninterface SpecificationValueList {\r\n langId: number;\r\n langName: string;\r\n name: string;\r\n specNameId: number;\r\n specNameLangId: number;\r\n specValueLangId: number;\r\n value: string;\r\n}\r\n\r\ninterface SpecificationValueResponse {\r\n status: boolean;\r\n message: string;\r\n data: SpecificationValue;\r\n}\r\n\r\ninterface SpecificationValue {\r\n langId: number;\r\n specNameLangId: number;\r\n specValueLangId: number;\r\n value: string;\r\n}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { PromoCodeService } from \"common/services/store/promo-code.service\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport {\r\n FormArray,\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\n\r\n@Component({\r\n selector: \"app-action\",\r\n templateUrl: \"./action.component.html\",\r\n styleUrls: [\"./action.component.css\"],\r\n})\r\nexport class ActionComponent implements OnInit {\r\n config = constEnv;\r\n\r\n action: string;\r\n id: number;\r\n listUrl: string;\r\n pageTitle: string;\r\n\r\n actionForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n customerLists: any[] = [];\r\n\r\n isCustomValidity = false;\r\n isDiscountPer = false;\r\n\r\n defaultLamguage: any;\r\n allLanguages: any[] = [];\r\n availableLangs = [];\r\n\r\n currentDate = new Date();\r\n expiredDate = new Date();\r\n\r\n showUsageLimit = true;\r\n makeCustomerReadOnly = false;\r\n\r\n public defaultCurrency = \"\";\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private pc: PromoCodeService,\r\n private alert: AlertService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private ls: IsLoadingService,\r\n private lang: LanguageService,\r\n private gs: GeneralService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.action = this.route.snapshot.params.action;\r\n this.listUrl = `${this.config.STORE_URL}/promo-code`;\r\n\r\n this.defaultCurrency = this.gs.getDefaultCurrency();\r\n\r\n this.defaultLamguage = this.lang.getDefaultLanguage();\r\n this.allLanguages = this.lang.getAvailableLanguages();\r\n\r\n this.checkValidAction();\r\n }\r\n\r\n private checkValidAction() {\r\n if (this.action !== \"add\" && this.action !== \"edit\") {\r\n this.router.navigate([this.listUrl]);\r\n }\r\n\r\n this.makeForm();\r\n if (this.action === \"edit\") {\r\n this.id =\r\n typeof this.route.snapshot.params.id !== \"undefined\" &&\r\n this.route.snapshot.params.id > 0\r\n ? this.route.snapshot.params.id\r\n : 0;\r\n if (this.id <= 0) {\r\n this.router.navigate([this.listUrl]);\r\n }\r\n\r\n this.pageTitle = \"EditPromoCode\";\r\n\r\n this.getPromoCode();\r\n } else {\r\n this.pageTitle = \"AddPromoCode\";\r\n }\r\n\r\n this.titleService.setTitle(this.pageTitle);\r\n this.getCustomerLists();\r\n }\r\n\r\n getCustomerLists() {\r\n this.pc.getCustomerList().subscribe(\r\n (data) => {\r\n if (data[\"status\"]) {\r\n this.customerLists = data[\"data\"];\r\n this.ls.remove();\r\n } else {\r\n // this.alert.danger(data['message']);\r\n this.customerLists = [];\r\n this.ls.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n // this.alert.danger(msg);\r\n }\r\n this.customerLists = [];\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n\r\n private makeForm() {\r\n this.actionForm = this.fb.group(\r\n {\r\n id: [0],\r\n couponCode: [\"\", Validators.required],\r\n customer: [null],\r\n description: [\"\", Validators.required],\r\n discount: [\"\", Validators.required],\r\n discountUnit: [null, Validators.required],\r\n UsageLimit: [\"\", Validators.required],\r\n Validity: [\"Permanent\", Validators.required],\r\n ActivationDate: [\"\"],\r\n ExpiryDate: [\"\"],\r\n Status: [null, Validators.required],\r\n maxDiscount: [\"\"],\r\n targetAmount: new FormControl(\"\", [Validators.required]),\r\n languagesArray: this.fb.array([]),\r\n defaultLanguageId: [\"\"],\r\n },\r\n {\r\n validators: [\r\n CustomValidator.CheckTargetAmount,\r\n CustomValidator.checkDiscount,\r\n CustomValidator.OnlyZeroNotAllowed(\"maxDiscount\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"targetAmount\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"UsageLimit\"),\r\n ],\r\n }\r\n );\r\n\r\n this.addAvailableLanguages();\r\n\r\n this.actionForm.get(\"defaultLanguageId\").setValue(this.defaultLamguage.id);\r\n }\r\n\r\n addAvailableLanguages() {\r\n this.allLanguages.forEach((singleLang) => {\r\n if (singleLang.id !== this.defaultLamguage.id) {\r\n this.availableLangs.push(singleLang);\r\n\r\n this.l.push(\r\n this.fb.group({\r\n languagedescription: [\"\"],\r\n lang_id: singleLang.id,\r\n defaultLang: singleLang.default_lang,\r\n })\r\n );\r\n }\r\n });\r\n }\r\n\r\n trackByFn(index: any, item: any) {\r\n return index;\r\n }\r\n\r\n get f() {\r\n return this.actionForm.controls;\r\n }\r\n get l() {\r\n return this.f.languagesArray as FormArray;\r\n }\r\n\r\n changeActivationDate($event) {\r\n this.expiredDate = $event.value;\r\n }\r\n\r\n getPromoCode() {\r\n this.ls.add();\r\n this.pc.get(this.id).subscribe(\r\n (data) => {\r\n if (data[\"status\"]) {\r\n this.setFormData(data[\"data\"]);\r\n\r\n this.ls.remove();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n\r\n getErrorTargetAmount() {\r\n return this.actionForm.get(\"targetAmount\").hasError(\"required\")\r\n ? \"\"\r\n : this.actionForm.get(\"targetAmount\").hasError(\"targetAmountLess\")\r\n ? \"TargetAmountGreaterValidation\"\r\n : // ? this.titleService.getTranslatedString(\"TargetAmountGreaterValidation\")\r\n this.actionForm.get(\"targetAmount\").hasError(\"zeroError\")\r\n ? \"Targetamountvalidation\"\r\n : // ? this.titleService.getTranslatedString(\"Targetamountvalidation\")\r\n \"\";\r\n }\r\n\r\n getErrorDiscount() {\r\n return this.actionForm.get(\"discount\").hasError(\"required\")\r\n ? \"\"\r\n : this.actionForm.get(\"discount\").hasError(\"discountPer\")\r\n ? \"DiscountPercentValidation\"\r\n : // ? this.titleService.getTranslatedString(\"DiscountPercentValidation\")\r\n this.actionForm.get(\"discount\").hasError(\"discountFlat\")\r\n ? \"MaximumDiscount\"\r\n : // ? this.titleService.getTranslatedString(\"MaximumDiscount\")\r\n \"\";\r\n }\r\n\r\n getErrorMaxDiscount() {\r\n return this.actionForm.get(\"maxDiscount\").hasError(\"required\")\r\n ? \"\"\r\n : this.actionForm.get(\"maxDiscount\").hasError(\"zeroError\")\r\n ? \"MaximumDiscount\"\r\n : // ? this.titleService.getTranslatedString(\"MaximumDiscount\")\r\n \"\";\r\n }\r\n\r\n getErrorUsageLimit() {\r\n return this.actionForm.get(\"UsageLimit\").hasError(\"required\")\r\n ? \"\"\r\n : this.actionForm.get(\"UsageLimit\").hasError(\"zeroError\")\r\n ? \"UsageLimitValue\"\r\n : // ? this.titleService.getTranslatedString(\"UsageLimitValue\")\r\n \"\";\r\n }\r\n\r\n setFormData(formData) {\r\n let activationDate;\r\n if (formData.activationdate !== \"\") {\r\n // const myDate = formData.activationdate.split('-');\r\n // const a_date = new Date(myDate[2]+'-'+myDate[1]+'-'+myDate[0]);\r\n // const m = ((a_date.getMonth() * 1) + 1);\r\n // const month = (m >= 1 && m <= 9) ? '0'+m : m;\r\n // const day = (a_date.getDate() >= 1 && a_date.getDate() <= 9) ? '0'+a_date.getDate() : a_date.getDate();\r\n // activationDate = new Date(a_date.getFullYear()+'-'+month+'-'+day);\r\n activationDate = new Date(formData.activationdate);\r\n }\r\n\r\n let expiryDate;\r\n if (formData.expirydate !== \"\") {\r\n // const myeDate = formData.expirydate.split('-');\r\n // const e_date = new Date(myeDate[2]+'-'+myeDate[1]+'-'+myeDate[0]);\r\n // const em = ((e_date.getMonth() * 1) + 1);\r\n // const emonth = (em >= 1 && em <= 9) ? '0'+em : em;\r\n // const day = (e_date.getDate() >= 1 && e_date.getDate() <= 9) ? '0'+e_date.getDate() : e_date.getDate();\r\n // expiryDate = new Date(e_date.getFullYear()+'-'+emonth+'-'+day);\r\n expiryDate = new Date(formData.expirydate);\r\n }\r\n\r\n const fieldData = {\r\n id: formData.pid,\r\n couponCode: formData.giftcode,\r\n customer: formData.customerId > 0 ? formData.customerId : null,\r\n // description: formData.description,\r\n discount: formData.discount,\r\n discountUnit: formData.type1,\r\n maxDiscount: formData.maxDiscount > 0 ? formData.maxDiscount : \"\",\r\n targetAmount: formData.targetAmount,\r\n UsageLimit: formData.usagelimit,\r\n Validity: formData.validity,\r\n ActivationDate: activationDate,\r\n ExpiryDate: expiryDate,\r\n Status: formData.status,\r\n };\r\n\r\n if (formData.customerId > 0) {\r\n this.onCustomerChange(formData.customerId);\r\n // this.actionForm.get('customer').disable();\r\n this.makeCustomerReadOnly = true;\r\n }\r\n\r\n this.changeDiscountUnit(formData.type1);\r\n\r\n if (formData.validity === \"Custom\") {\r\n this.isCustomValidity = true;\r\n\r\n this.expiredDate = activationDate != \"\" ? activationDate : \"\";\r\n }\r\n\r\n this.actionForm.patchValue(fieldData);\r\n\r\n if (formData.languages.length > 0) {\r\n formData.languages.forEach((singleLang, index) => {\r\n if (singleLang.langKey == this.defaultLamguage.id) {\r\n const productDesc =\r\n singleLang.langValue != \"\"\r\n ? singleLang.langValue\r\n : formData.description;\r\n this.actionForm.get(\"description\").setValue(productDesc);\r\n this.actionForm\r\n .get(\"defaultLanguageId\")\r\n .setValue(this.defaultLamguage.id);\r\n } else {\r\n this.l.controls.forEach((singleRow, i) => {\r\n if (singleRow.value.lang_id == singleLang.langKey) {\r\n this.l.controls[i]\r\n .get(\"languagedescription\")\r\n .setValue(singleLang.langValue);\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.actionForm.get(\"description\").setValue(formData.description);\r\n }\r\n }\r\n\r\n changeDiscountUnit($event) {\r\n if ($event == \"Per\") {\r\n this.isDiscountPer = true;\r\n this.actionForm.get(\"maxDiscount\").setValidators([Validators.required]);\r\n if (this.actionForm.get(\"maxDiscount\").value !== \"\") {\r\n this.actionForm.get(\"maxDiscount\").markAsTouched({ onlySelf: true });\r\n }\r\n this.actionForm.get(\"maxDiscount\").updateValueAndValidity();\r\n } else {\r\n this.isDiscountPer = false;\r\n this.actionForm.get(\"maxDiscount\").setValue(\"\");\r\n this.actionForm.get(\"maxDiscount\").clearValidators();\r\n this.actionForm.get(\"maxDiscount\").updateValueAndValidity();\r\n }\r\n\r\n if (this.f[\"targetAmount\"].value !== \"\") {\r\n this.f[\"targetAmount\"].markAsTouched({ onlySelf: true });\r\n this.f[\"targetAmount\"].updateValueAndValidity();\r\n }\r\n }\r\n\r\n onCustomerChange($event) {\r\n if (typeof $event !== \"undefined\" && $event > 0) {\r\n this.showUsageLimit = false;\r\n this.actionForm.get(\"UsageLimit\").setValue(1);\r\n } else {\r\n this.showUsageLimit = true;\r\n this.actionForm.get(\"UsageLimit\").setValue(null);\r\n }\r\n }\r\n\r\n handleValidityChange($event) {\r\n var target = $event;\r\n if (target.value === \"Custom\") {\r\n this.isCustomValidity = true;\r\n this.actionForm\r\n .get(\"ActivationDate\")\r\n .setValidators([Validators.required]);\r\n this.actionForm.get(\"ActivationDate\").updateValueAndValidity();\r\n this.actionForm.get(\"ExpiryDate\").setValidators([Validators.required]);\r\n this.actionForm.get(\"ExpiryDate\").updateValueAndValidity();\r\n } else {\r\n this.isCustomValidity = false;\r\n this.actionForm.get(\"ActivationDate\").clearValidators();\r\n this.actionForm.get(\"ActivationDate\").updateValueAndValidity();\r\n this.actionForm.get(\"ExpiryDate\").clearValidators();\r\n this.actionForm.get(\"ExpiryDate\").updateValueAndValidity();\r\n }\r\n }\r\n\r\n generateCode() {\r\n this.actionForm.get(\"couponCode\").setValue(this.makeRandom());\r\n }\r\n\r\n private makeRandom() {\r\n var randomChars =\r\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\r\n var length = 10;\r\n var result = \"\";\r\n for (var i = 0; i < length; i++) {\r\n result += randomChars.charAt(\r\n Math.floor(Math.random() * randomChars.length)\r\n );\r\n }\r\n return result;\r\n }\r\n\r\n submit() {\r\n this.submitted = true;\r\n\r\n if (this.actionForm.invalid) {\r\n return;\r\n }\r\n\r\n const LanguageArray = [];\r\n LanguageArray.push({\r\n langKey: this.actionForm.value.defaultLanguageId,\r\n langValue: this.actionForm.value.description,\r\n });\r\n if (this.actionForm.value.languagesArray.length > 0) {\r\n this.actionForm.value.languagesArray.forEach((singleLang) => {\r\n LanguageArray.push({\r\n langKey: singleLang.lang_id,\r\n langValue: singleLang.languagedescription,\r\n });\r\n });\r\n }\r\n\r\n const ActivationDateUtc = this.actionForm.value.ActivationDate;\r\n let activationDate = \"\";\r\n if (typeof ActivationDateUtc !== \"undefined\" && ActivationDateUtc !== \"\") {\r\n const month = ActivationDateUtc.getMonth() * 1 + 1;\r\n const monthWithZero = month >= 0 && month <= 9 ? \"0\" + month : month;\r\n const day =\r\n ActivationDateUtc.getDate() >= 1 && ActivationDateUtc.getDate() <= 9\r\n ? \"0\" + ActivationDateUtc.getDate()\r\n : ActivationDateUtc.getDate();\r\n activationDate =\r\n ActivationDateUtc.getFullYear() + \"-\" + monthWithZero + \"-\" + day;\r\n }\r\n\r\n const expiryDateUtc = this.actionForm.value.ExpiryDate;\r\n let expiryDate = \"\";\r\n if (typeof expiryDateUtc !== \"undefined\" && expiryDateUtc !== \"\") {\r\n const month = expiryDateUtc.getMonth() * 1 + 1;\r\n const monthWithZero = month >= 0 && month <= 9 ? \"0\" + month : month;\r\n const day =\r\n expiryDateUtc.getDate() >= 1 && expiryDateUtc.getDate() <= 9\r\n ? \"0\" + expiryDateUtc.getDate()\r\n : expiryDateUtc.getDate();\r\n expiryDate =\r\n expiryDateUtc.getFullYear() + \"-\" + monthWithZero + \"-\" + day;\r\n }\r\n\r\n const maxDiscount =\r\n this.actionForm.value.maxDiscount !== \"\"\r\n ? parseFloat(this.actionForm.value.maxDiscount)\r\n : 0;\r\n\r\n const formData = {\r\n pid: this.actionForm.value.id,\r\n giftcode: this.actionForm.value.couponCode,\r\n discount: this.actionForm.value.discount,\r\n validity: this.actionForm.value.Validity,\r\n activationdate: activationDate,\r\n expirydate: expiryDate,\r\n usagelimit: this.actionForm.value.UsageLimit,\r\n used: 0,\r\n status: this.actionForm.value.Status,\r\n description: this.actionForm.value.description,\r\n type1: this.actionForm.value.discountUnit,\r\n maxDiscount: maxDiscount !== null ? maxDiscount : 0,\r\n targetAmount: parseFloat(this.actionForm.value.targetAmount),\r\n customerId:\r\n this.actionForm.value.customer > 0 ? this.actionForm.value.customer : 0,\r\n storeId: 0,\r\n promocodeType: true,\r\n totalRows: 0,\r\n languages: LanguageArray,\r\n };\r\n\r\n this.loading = true;\r\n this.ls.add();\r\n\r\n this.pc.action(this.action, formData).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.ls.remove();\r\n this.router.navigate([`${this.listUrl}`]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.ls.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n TemplateRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { Subscription, combineLatest } from \"rxjs\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\r\nimport { PromoCodeService } from \"common/services/store/promo-code.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ConfirmDialogComponent } from \"common/_components/confirm-dialog/confirm-dialog.component\";\r\n\r\n@Component({\r\n selector: \"app-list\",\r\n templateUrl: \"./list.component.html\",\r\n styleUrls: [\"./list.component.css\"],\r\n})\r\nexport class ListComponent implements OnInit {\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n hasLists = false;\r\n lists = [];\r\n\r\n modalRef: BsModalRef;\r\n subscriptions: Subscription[] = [];\r\n\r\n selectedId = 0;\r\n\r\n config = constEnv;\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private ls: IsLoadingService,\r\n private dialog: MatDialog,\r\n private pc: PromoCodeService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"PromoCode\");\r\n\r\n if (this.ls.isLoading$()) {\r\n this.ls.remove();\r\n }\r\n\r\n this.createTable();\r\n }\r\n\r\n createTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: -1,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.hasLists = false;\r\n\r\n this.pc\r\n .getAll(dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (resp) => {\r\n let paging: any;\r\n if (resp[\"status\"] === true) {\r\n this.lists = resp[\"data\"];\r\n\r\n paging = JSON.parse(resp[\"Paging\"]);\r\n } else {\r\n paging = { totalCount: 0, totalRowsAfterFiltering: 0 };\r\n this.lists = [];\r\n this.hasLists = false;\r\n }\r\n\r\n if (this.lists.length > 0) {\r\n this.hasLists = true;\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(msg);\r\n }\r\n }\r\n );\r\n },\r\n };\r\n }\r\n\r\n changeStatus(pId, status) {\r\n if (pId > 0) {\r\n this.ls.add();\r\n this.pc.changeStatus(pId, status ? 1 : 0).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true && data[\"message\"] !== \"\") {\r\n this.alert.success(data[\"message\"]);\r\n } else {\r\n if (data[\"message\"] !== \"\") {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n }\r\n\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) =>\r\n dtInstance.draw()\r\n );\r\n this.ls.remove();\r\n // this.loadProductLists();\r\n },\r\n (err) => {\r\n this.alert.danger(err.error.message);\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n }\r\n\r\n delete(id) {\r\n if (id > 0) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm\",\r\n message: \"DeleteConfirm\",\r\n },\r\n });\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n this.ls.add();\r\n this.pc.delete(id).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.datatableElement.dtInstance.then(\r\n // (dtInstance: DataTables.Api) => dtInstance.draw()\r\n (dtInstance) => dtInstance.draw()\r\n );\r\n this.ls.remove();\r\n // this.loadProductLists();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\n\r\nimport { ListComponent } from './list/list.component';\r\nimport { ActionComponent } from './action/action.component';\r\n\r\nconst routeStore = constEnv.storeEndPoint;\r\n\r\nconst routes: Routes = [\r\n { \r\n path: `${routeStore}/promo-code`, \r\n children: [\r\n { \r\n path: ':action',\r\n children: [\r\n { path: ':id', component: ActionComponent },\r\n { path: '', component: ActionComponent }\r\n ]\r\n },\r\n { path: '', component: ListComponent },\r\n ],\r\n canActivate: [AuthGuard] \r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class PromoCodeRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ComponentModule } from 'common/_components/components.module';\r\nimport { DataTablesModule } from 'angular-datatables';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { MyDirectiveModule } from 'common/directives/my-directive.module';\r\nimport { MaterialModule } from 'common/modules/material.module';\r\nimport { TemplateDefaultModule } from '../../shared/template-default/template-default.module';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\nimport { PromoCodeRoutingModule } from './promo-code-routing.module';\r\nimport { ListComponent } from './list/list.component';\r\nimport { ActionComponent } from './action/action.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [ListComponent, ActionComponent],\r\n imports: [\r\n CommonModule,\r\n PromoCodeRoutingModule,\r\n RouterModule,\r\n TranslateModule.forRoot(),\r\n ReactiveFormsModule,\r\n DataTablesModule,\r\n ComponentModule,\r\n MaterialModule,\r\n NgSelectModule,\r\n TemplateDefaultModule,\r\n BsDatepickerModule.forRoot(),\r\n MyDirectiveModule \r\n ]\r\n})\r\nexport class PromoCodeModule { }\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { ReturnRequestService } from \"common/services/store/returnRequest.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { ReturnRequest } from \"common/_models/store/returnRequest\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\n\r\n@Component({\r\n selector: \"app-detail\",\r\n templateUrl: \"./detail.component.html\",\r\n styleUrls: [\"./detail.component.css\"],\r\n})\r\nexport class DetailComponent implements OnInit {\r\n requestId: number;\r\n\r\n config = constEnv;\r\n listUrl = \"\";\r\n\r\n requestDetail: ReturnRequest = null;\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private rr: ReturnRequestService,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Return Request Detail\");\r\n\r\n this.requestId =\r\n this.route.snapshot.params.id > 0 ? this.route.snapshot.params.id : 0;\r\n\r\n this.listUrl = `${this.config.STORE_URL}/return-request`;\r\n\r\n if (this.requestId <= 0) {\r\n this.router.navigate([this.listUrl]);\r\n return false;\r\n }\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.getRturnRequestDetail();\r\n }\r\n\r\n getRturnRequestDetail() {\r\n this.isLoadingService.add();\r\n\r\n this.rr.getRequestById(this.requestId).subscribe(\r\n (res) => {\r\n const data = res as RequestDetailResponse;\r\n\r\n if (data.status === true) {\r\n this.requestDetail = new ReturnRequest().deserialize(data.data);\r\n this.isLoadingService.remove();\r\n } else {\r\n this.alert.danger(data.message);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n showPickupDateByStatus(item: any): boolean {\r\n const returnStatusIds = [15, 16];\r\n if (item.pickupDate == \"\" && item.pickupDate == null) {\r\n return false;\r\n }\r\n // if (returnStatusIds.indexOf(item.returnStatusId) !== -1) {\r\n // return true;\r\n // }\r\n return true;\r\n }\r\n}\r\n\r\ninterface RequestDetailResponse {\r\n status: boolean;\r\n message: string;\r\n data: ReturnRequest;\r\n}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { FormBuilder } from \"@angular/forms\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { ReturnRequestService } from \"common/services/store/returnRequest.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { ReturnRequest } from \"common/_models/store/returnRequest\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { Paging } from \"../../products/list/list.component\";\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\n@Component({\r\n selector: \"app-list\",\r\n templateUrl: \"./list.component.html\",\r\n styleUrls: [\"./list.component.css\"],\r\n})\r\nexport class ListComponent implements OnInit {\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n config = constEnv;\r\n\r\n lists: ReturnRequest[] = [];\r\n hasLists = false;\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private fb: FormBuilder,\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private rr: ReturnRequestService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Return Request\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.createDataTable();\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: 1,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.hasLists = true;\r\n\r\n let paging: Paging = null;\r\n\r\n this.rr\r\n .getAllRequests(dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n const res = data as ReturnRequestList;\r\n\r\n if (res.status === true) {\r\n this.lists = res.data.map((item) =>\r\n new ReturnRequest().deserialize(item)\r\n );\r\n\r\n paging = JSON.parse(res.paging) as Paging;\r\n } else {\r\n paging = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n } as Paging;\r\n\r\n this.alert.danger(data[\"message\"]);\r\n this.lists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n\r\n // this.loader.hideLoader();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n // this.alert.danger(msg);\r\n this.lists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n\r\n // this.loader.hideLoader();\r\n }\r\n );\r\n },\r\n };\r\n }\r\n}\r\n\r\ninterface ReturnRequestList {\r\n status: boolean;\r\n message: string;\r\n data: ReturnRequest[];\r\n paging: string;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\n\r\nimport { ListComponent } from './list/list.component';\r\nimport { DetailComponent } from './detail/detail.component';\r\n\r\nconst STORE_ENDPOINT = constEnv.storeEndPoint;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${STORE_ENDPOINT}/return-request`,\r\n children: [\r\n { path: '', component: ListComponent },\r\n { path: ':id', component: DetailComponent }\r\n ],\r\n canActivate: [AuthGuard]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ReturnRequestRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\n\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { TemplateDefaultModule } from \"../../shared/template-default/template-default.module\";\r\nimport { DataTablesModule } from \"angular-datatables\";\r\n\r\nimport { ReturnRequestRoutingModule } from \"./return-request-routing.module\";\r\nimport { ListComponent } from \"./list/list.component\";\r\nimport { DetailComponent } from \"./detail/detail.component\";\r\nimport { PipeModule } from \"common/_pipe/pipe.module\";\r\nimport { PopoverModule } from \"ngx-bootstrap/popover\";\r\n\r\n@NgModule({\r\n declarations: [ListComponent, DetailComponent],\r\n imports: [\r\n CommonModule,\r\n ReturnRequestRoutingModule,\r\n ReactiveFormsModule,\r\n TranslateModule,\r\n ComponentModule,\r\n MaterialModule,\r\n TemplateDefaultModule,\r\n DataTablesModule,\r\n PipeModule,\r\n PopoverModule.forRoot(),\r\n ],\r\n})\r\nexport class ReturnRequestModule {}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { SettingsService } from \"common/services/store/settings.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\n\r\n@Component({\r\n selector: \"app-bank-detail\",\r\n templateUrl: \"./bank-detail.component.html\",\r\n styleUrls: [\"./bank-detail.component.css\"],\r\n})\r\nexport class BankDetailComponent implements OnInit {\r\n bankDetailForm: FormGroup;\r\n submitted = false;\r\n loading = false;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private ls: LoaderService,\r\n private alert: AlertService,\r\n private settings: SettingsService,\r\n private titleService: TitleService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"STORE_Bank_Detail\");\r\n this.makeForm();\r\n\r\n this.getBankData();\r\n }\r\n\r\n makeForm() {\r\n this.bankDetailForm = this.fb.group({\r\n type: [\"\"],\r\n name: [\"\", Validators.required],\r\n email: [\"\", Validators.required],\r\n accountNumber: [\"\", Validators.required],\r\n bankName: [\"\", Validators.required],\r\n location: [\"\", Validators.required],\r\n bankCode: [\"\", Validators.required],\r\n });\r\n }\r\n\r\n get f() {\r\n return this.bankDetailForm.controls;\r\n }\r\n\r\n getBankData() {\r\n this.ls.showLoader();\r\n this.settings.getBankDetail().subscribe(\r\n (data) => {\r\n const res = data as BankDetailResponse;\r\n if (res.status === true) {\r\n if (res.data !== null) {\r\n this.setFormValue(res.data);\r\n this.bankDetailForm.get(\"type\").setValue(\"edit\");\r\n }\r\n this.ls.hideLoader();\r\n } else {\r\n // this.alert.error(data['message']);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n // this.alert.error(err.error.message);\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n setFormValue(data: BankDetail) {\r\n for (const key in data) {\r\n if (\r\n data.hasOwnProperty(key) &&\r\n key !== \"store_id\" &&\r\n key !== \"driver_id\"\r\n ) {\r\n if (typeof data[key] !== null) {\r\n this.bankDetailForm.get(key).setValue(data[key]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.bankDetailForm.invalid) {\r\n return;\r\n }\r\n\r\n this.ls.showLoader();\r\n this.loading = true;\r\n\r\n this.bankDetailForm.value.type =\r\n this.bankDetailForm.value.type === \"edit\" ? \"edit\" : \"add\";\r\n\r\n this.settings.updateBankDetail(this.bankDetailForm.value).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.ls.hideLoader();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n this.loading = false;\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.ls.hideLoader();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n}\r\n\r\nexport interface BankDetailResponse {\r\n status: boolean;\r\n message: string;\r\n data: BankDetail;\r\n}\r\n\r\nexport interface BankDetail {\r\n bankName: string;\r\n accountNumber: string;\r\n bankCode: string;\r\n location: string;\r\n name: string;\r\n email: string;\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n Validators,\r\n AbstractControl,\r\n FormControl,\r\n} from \"@angular/forms\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { SettingsService } from \"common/services/store/settings.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\nimport { AuthUser, UserData } from \"common/_models/AuthUser.model\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\n\r\n@Component({\r\n selector: \"app-change-password\",\r\n templateUrl: \"./change-password.component.html\",\r\n styleUrls: [\"./change-password.component.css\"],\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n changePasswordFrom: FormGroup;\r\n submitted = false;\r\n loading = false;\r\n\r\n config = constEnv;\r\n\r\n public showOldPassword: boolean = false;\r\n public showNewPassword: boolean = false;\r\n public showConfirmPassword: boolean = false;\r\n\r\n currentUserDetail: UserData;\r\n isFirstTimeLogin: boolean = false;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private ls: LoaderService,\r\n private alert: AlertService,\r\n private settings: SettingsService,\r\n private titleService: TitleService,\r\n private authenticationService: AuthenticationService,\r\n private gs: GeneralService,\r\n private langService: LanguageService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"STORE_Change_Password\");\r\n this.changePasswordFrom = this.fb.group(\r\n {\r\n oldPassword: [\"\", Validators.required],\r\n newPassword: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n this.noWhitespaceValidator,\r\n ])\r\n ),\r\n confirmPassword: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n this.noWhitespaceValidator,\r\n ])\r\n ),\r\n },\r\n { validator: CustomValidator.MatchPassword }\r\n );\r\n\r\n const currentUser = this.authenticationService.currentUserValue;\r\n this.currentUserDetail = currentUser.userdetails as UserData;\r\n this.isFirstTimeLogin = this.currentUserDetail.isFirstimeLogin;\r\n }\r\n\r\n get f() {\r\n return this.changePasswordFrom.controls;\r\n }\r\n\r\n noWhitespaceValidator(control: FormControl) {\r\n const isWhitespace = (control.value || \"\").trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { whitespace: true };\r\n }\r\n\r\n getErrorNewPassword() {\r\n return this.changePasswordFrom.get(\"newPassword\").hasError(\"required\")\r\n ? \"\"\r\n : this.changePasswordFrom.get(\"newPassword\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.changePasswordFrom.get(\"newPassword\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n \"\";\r\n }\r\n\r\n getErrorConfirmPassword() {\r\n return this.changePasswordFrom.get(\"confirmPassword\").hasError(\"required\")\r\n ? \"\"\r\n : this.changePasswordFrom.get(\"confirmPassword\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.changePasswordFrom.get(\"confirmPassword\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.changePasswordFrom.get(\"confirmPassword\").hasError(\"confirmPassword\")\r\n ? \"NewPasswordAndConfirmPasswordMustBeSame\"\r\n : // ? this.titleService.getTranslatedString(\"NewPasswordAndConfirmPasswordMustBeSame\")\r\n \"\";\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.changePasswordFrom.invalid) {\r\n return;\r\n }\r\n\r\n this.ls.showLoader();\r\n this.loading = true;\r\n\r\n this.settings.changePassword(this.changePasswordFrom.value).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.submitted = false;\r\n this.changePasswordFrom.reset();\r\n this.ls.hideLoader();\r\n\r\n if (this.isFirstTimeLogin) {\r\n this.logout();\r\n }\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n this.loading = false;\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.loading = false;\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n logout() {\r\n this.ls.showLoader();\r\n // this.langService.changeLanguage(this.langService.defaultLanguage);\r\n this.authenticationService.logout();\r\n const loginURL = `${this.config.STORE_URL}/login`;\r\n\r\n const settingLang = this.gs.getSettings(\"default_language\");\r\n\r\n const changeLangCode =\r\n settingLang !== \"\" ? settingLang : this.langService.defaultLanguage;\r\n\r\n this.langService.getAvailableLanguages().map((lang) => {\r\n if (changeLangCode === lang.lang_code) {\r\n this.langService._setLanguage(lang.lang_code);\r\n localStorage.setItem(\"defaultLang\", JSON.stringify(lang));\r\n }\r\n });\r\n\r\n this.langService\r\n .getLanguageTranslation(this.langService.getCurrentLanguage())\r\n .subscribe((translationsJSON) => {\r\n this.langService.setLanguageTranslation(translationsJSON);\r\n window.location.href = loginURL;\r\n });\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ChangeDetectorRef,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { SettingsService } from \"common/services/store/settings.service\";\r\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\r\nimport { Subscription, combineLatest } from \"rxjs\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { RequiredDocuments } from \"common/_models/store/requiredDocuments\";\r\nimport { UplodedDocuments } from \"common/_models/store/uplodedDocuments\";\r\n\r\n@Component({\r\n selector: \"app-documents\",\r\n templateUrl: \"./documents.component.html\",\r\n styleUrls: [\"./documents.component.css\"],\r\n})\r\nexport class DocumentsComponent implements OnInit {\r\n documentLists = [];\r\n\r\n modalRef: BsModalRef;\r\n subscriptions: Subscription[] = [];\r\n\r\n dateFormat = \"dd-MMM-yyyy\";\r\n\r\n selectedDocMgmtId = 0;\r\n selExpDateReq = true;\r\n submitted = false;\r\n\r\n fileData: File = null;\r\n previewUrl: any = null;\r\n fileUploadProgress: string = null;\r\n uploadedFilePath: string = null;\r\n fileUplaodName: string = null;\r\n\r\n uploadForm: FormGroup;\r\n\r\n config = constEnv;\r\n\r\n constructor(\r\n private ls: LoaderService,\r\n private alert: AlertService,\r\n private settings: SettingsService,\r\n private modalService: BsModalService,\r\n private changeDetection: ChangeDetectorRef,\r\n private fb: FormBuilder,\r\n private datePipe: DatePipe,\r\n private titleService: TitleService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"STORE_Manage_Documents\");\r\n this.getRequiredDocumentLists();\r\n\r\n this.makeUploadForm();\r\n }\r\n\r\n makeUploadForm() {\r\n this.uploadForm = this.fb.group({\r\n fileUpload: [\"\", Validators.required],\r\n expiryDate: [\"\"],\r\n docMgmtId: [\"\"],\r\n docId: [0],\r\n });\r\n }\r\n\r\n get f() {\r\n return this.uploadForm.controls;\r\n }\r\n\r\n getRequiredDocumentLists() {\r\n this.ls.showLoader();\r\n this.documentLists = [];\r\n this.settings.getDocumentLists().subscribe(\r\n (data) => {\r\n const res = data as RequiredDocResponse;\r\n if (res.status === true) {\r\n if (res.data !== null) {\r\n res.data.forEach((doc) => {\r\n if (doc.docMgmtId > 0) {\r\n this.settings.getUploadedDouments(doc.docMgmtId).subscribe(\r\n (response) => {\r\n const resp = response as UploadedDocResponse;\r\n if (resp.status === true) {\r\n const resData =\r\n typeof resp.data !== \"undefined\" ? resp.data : null;\r\n this.documentLists.push({\r\n DocMgmtId: doc.docMgmtId,\r\n DocumentName: doc.documentName,\r\n IsExpiryDateRequired: doc.isExpiryDateRequired,\r\n docId:\r\n typeof resData.id !== \"undefined\" ? resData.id : 0,\r\n DocExpiryDate:\r\n typeof resData.docExpiryDate !== \"undefined\"\r\n ? resData.docExpiryDate\r\n : null,\r\n DocUrl:\r\n typeof resData.docUrl !== \"undefined\"\r\n ? resData.docUrl\r\n : null,\r\n IsVerify:\r\n typeof resData.isVerify !== \"undefined\"\r\n ? resData.isVerify\r\n : 0,\r\n isDocUrl:\r\n typeof resData.docUrl !== \"undefined\" ? true : false,\r\n btnLabel: \"UpdateDocument\",\r\n });\r\n } else {\r\n this.documentLists.push({\r\n DocMgmtId: doc.docMgmtId,\r\n DocumentName: doc.documentName,\r\n IsExpiryDateRequired: doc.isExpiryDateRequired,\r\n docId: 0,\r\n DocExpiryDate: null,\r\n DocUrl: null,\r\n isDocUrl: false,\r\n IsVerify: true,\r\n btnLabel: \"Upload\",\r\n });\r\n }\r\n\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n this.documentLists.push({\r\n DocMgmtId: doc.docMgmtId,\r\n DocumentName: doc.documentName,\r\n IsExpiryDateRequired: doc.isExpiryDateRequired,\r\n docId: 0,\r\n DocExpiryDate: null,\r\n DocUrl: null,\r\n isDocUrl: false,\r\n IsVerify: true,\r\n btnLabel: \"Upload\",\r\n });\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n // this.documentLists = data['data'];\r\n\r\n this.ls.hideLoader();\r\n } else {\r\n this.alert.danger(res.message);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n openModal(template: TemplateRef, docMgmtId, docId, isexpDateReq) {\r\n const _combine = combineLatest(\r\n this.modalService.onShow,\r\n this.modalService.onShown,\r\n this.modalService.onHide,\r\n this.modalService.onHidden\r\n ).subscribe(() => this.changeDetection.markForCheck());\r\n\r\n this.subscriptions.push(\r\n this.modalService.onShow.subscribe((reason: string) => {\r\n this.selectedDocMgmtId = docMgmtId;\r\n this.uploadForm.get(\"docMgmtId\").setValue(docMgmtId);\r\n this.uploadForm.get(\"docId\").setValue(docId);\r\n this.selExpDateReq = isexpDateReq;\r\n if (isexpDateReq === true) {\r\n this.uploadForm\r\n .get(\"expiryDate\")\r\n .setValidators([Validators.required]);\r\n }\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.modalService.onHidden.subscribe((reason: string) => {\r\n this.selectedDocMgmtId = 0;\r\n this.submitted = false;\r\n this.uploadForm.get(\"fileUpload\").setValue(\"\");\r\n this.uploadForm.get(\"docMgmtId\").setValue(\"\");\r\n this.uploadForm.get(\"docId\").setValue(0);\r\n this.uploadForm.get(\"expiryDate\").setValue(\"\");\r\n this.uploadForm.get(\"expiryDate\").setValidators([]);\r\n this.selExpDateReq = true;\r\n this.fileUplaodName = null;\r\n this.previewUrl = \"\";\r\n this.unsubscribe();\r\n })\r\n );\r\n\r\n this.subscriptions.push(_combine);\r\n\r\n this.modalRef = this.modalService.show(template, { class: \"modal-sm\" });\r\n }\r\n\r\n unsubscribe() {\r\n this.subscriptions.forEach((subscription: Subscription) => {\r\n subscription.unsubscribe();\r\n });\r\n this.subscriptions = [];\r\n }\r\n\r\n fileProgress(fileInput: any) {\r\n this.fileData = fileInput.target.files[0] as File;\r\n this.preview();\r\n }\r\n\r\n preview() {\r\n // Show preview\r\n const mimeType = this.fileData.type;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(this.fileData);\r\n reader.onload = (_event) => {\r\n this.previewUrl = reader.result;\r\n this.fileUplaodName = this.fileData.name;\r\n };\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.uploadForm.invalid) {\r\n return;\r\n }\r\n\r\n // const docId = (this.uploadForm.value.docId > 0) ? this.uploadForm.value.docId : 0;\r\n // const action = (docId > 0) ? 'edit' : 'add';\r\n\r\n const expiredDate = this.datePipe.transform(\r\n this.uploadForm.value.expiryDate,\r\n this.dateFormat\r\n );\r\n\r\n const formData = new FormData();\r\n // formData.append('Id', docId);\r\n formData.append(\"DocumentTypeId\", this.uploadForm.value.docMgmtId);\r\n formData.append(\r\n \"DocumentExpiryDate\",\r\n expiredDate !== null ? expiredDate : \"\"\r\n );\r\n formData.append(\"Document\", this.fileData);\r\n\r\n this.ls.showLoader();\r\n this.settings.actionDocumentUpload(formData).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n // this.ls.hideLoader();\r\n this.modalRef.hide();\r\n this.getRequiredDocumentLists();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error.Message !== \"undefined\") {\r\n this.alert.danger(err.error.Message);\r\n } else if (typeof err.error !== \"undefined\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n}\r\n\r\nexport interface RequiredDocResponse {\r\n status: boolean;\r\n message: string;\r\n data: RequiredDocuments[];\r\n}\r\n\r\nexport interface UploadedDocResponse {\r\n status: boolean;\r\n message: string;\r\n data: UplodedDocuments;\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { SettingsService } from \"common/services/store/settings.service\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { StoreUserService } from \"common/services/store/storeUser.service\";\r\nimport { OrderSettings } from \"common/_models/store/orderSettings\";\r\n\r\n@Component({\r\n selector: \"app-order\",\r\n templateUrl: \"./order.component.html\",\r\n styleUrls: [\"./order.component.css\"],\r\n})\r\nexport class OrderComponent implements OnInit {\r\n offerApplyon = [\r\n { key: \"None\", vlaue: \"None\" },\r\n { key: \"First\", vlaue: \"FirstOrder\" },\r\n { key: \"All\", vlaue: \"AllOrdes\" },\r\n ];\r\n offerTypes = [\r\n { key: \"Flat\", vlaue: \"FlatOffer\" },\r\n { key: \"Per\", vlaue: \"PercentageOffer\" },\r\n ];\r\n\r\n offerApply = \"None\";\r\n offerType = \"Flat\";\r\n\r\n orderSettingForm: FormGroup;\r\n\r\n submitted = false;\r\n loading = false;\r\n estimatedTimeUnits = [];\r\n\r\n storeTypeId = 0;\r\n storeCurrency = \"\";\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private alert: AlertService,\r\n private ls: LoaderService,\r\n private settings: SettingsService,\r\n private titleService: TitleService,\r\n private us: StoreUserService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Order Setting\");\r\n this.makeForm();\r\n\r\n this.storeTypeId = this.us.getStoreServiceTypeId();\r\n this.storeCurrency = this.us.getStoreCurrency();\r\n\r\n this.getOrderSettings();\r\n }\r\n\r\n private makeForm() {\r\n this.orderSettingForm = this.fb.group(\r\n {\r\n // MinOrderPrice: ['', Validators.required],\r\n // AdditionalCharges: ['0'],\r\n // MaxItemInCart: ['', Validators.required],\r\n // EstimateTime: ['', Validators.required],\r\n // EstimateTimeUnit: [null, Validators.required],\r\n // CostPerPerson: ['', Validators.required],\r\n OfferApplyOn: [\"\", Validators.required],\r\n OfferType: [\"\"],\r\n OfferDiscount: [\"\"],\r\n TargetAmount: [\"\"],\r\n MaxAmount: [\"0\"],\r\n TakeAway: [\"\"],\r\n DeliverToVehicleFees: [\"\"],\r\n },\r\n { validators: CustomValidator.CheckTargetAmount }\r\n );\r\n\r\n if (this.storeTypeId !== 1) {\r\n this.orderSettingForm.get(\"CostPerPerson\").setValidators(null);\r\n }\r\n }\r\n\r\n get f() {\r\n return this.orderSettingForm.controls;\r\n }\r\n\r\n getOrderSettings() {\r\n this.ls.showLoader();\r\n this.settings.getOrderSettings().subscribe(\r\n (data) => {\r\n const resp = data as OrderSettingResponse;\r\n if (resp.status === true) {\r\n this.setFormValue(resp.data);\r\n this.ls.hideLoader();\r\n } else {\r\n this.alert.danger(resp.message);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n setFormValue(orderData: OrderSettings) {\r\n // this.orderSettingForm.get('MinOrderPrice').setValue( orderData.minOrderPrice );\r\n // this.orderSettingForm.get('MaxItemInCart').setValue( orderData.maxItemsInCart );\r\n // this.orderSettingForm.get('AdditionalCharges').setValue( orderData.additionalCharges );\r\n // this.orderSettingForm.get('EstimateTime').setValue( orderData.estimateTime );\r\n\r\n if (orderData.offerApplyOn !== \"\" && orderData.offerApplyOn !== null) {\r\n this.orderSettingForm\r\n .get(\"OfferApplyOn\")\r\n .setValue(orderData.offerApplyOn);\r\n this.offerApplyOnChange(orderData.offerApplyOn);\r\n }\r\n if (orderData.offerType !== \"\" && orderData.offerType !== null) {\r\n this.orderSettingForm.get(\"OfferType\").setValue(orderData.offerType);\r\n this.onChangeOfferType(orderData.offerType);\r\n }\r\n this.orderSettingForm\r\n .get(\"OfferDiscount\")\r\n .setValue(orderData.offerDiscount);\r\n this.orderSettingForm.get(\"TargetAmount\").setValue(orderData.targetAmount);\r\n this.orderSettingForm.get(\"MaxAmount\").setValue(orderData.maxAmount);\r\n this.orderSettingForm.get(\"TakeAway\").setValue(orderData.takeAway);\r\n this.orderSettingForm\r\n .get(\"DeliverToVehicleFees\")\r\n .setValue(orderData.deliverToVehicleFees);\r\n\r\n this.estimatedTimeUnits =\r\n typeof orderData.unitList !== \"undefined\" ? orderData.unitList : [];\r\n // this.orderSettingForm.get('EstimateTimeUnit').setValue( (typeof orderData.unitId !== 'undefined') ? orderData.unitId.toString() : null );\r\n }\r\n\r\n offerApplyOnChange(offerApplyValue: string) {\r\n this.offerApply = offerApplyValue;\r\n if (\r\n this.offerApply !== \"None\" &&\r\n this.offerApply !== \"\" &&\r\n this.offerApply !== null\r\n ) {\r\n this.orderSettingForm\r\n .get(\"OfferType\")\r\n .setValidators([Validators.required]);\r\n this.orderSettingForm.get(\"OfferType\").updateValueAndValidity();\r\n this.orderSettingForm\r\n .get(\"OfferDiscount\")\r\n .setValidators([Validators.required]);\r\n this.orderSettingForm.get(\"OfferDiscount\").updateValueAndValidity();\r\n this.orderSettingForm\r\n .get(\"TargetAmount\")\r\n .setValidators([Validators.required]);\r\n this.orderSettingForm.get(\"TargetAmount\").updateValueAndValidity();\r\n } else {\r\n this.orderSettingForm.get(\"OfferType\").clearValidators();\r\n this.orderSettingForm.get(\"OfferType\").updateValueAndValidity();\r\n this.orderSettingForm.get(\"OfferDiscount\").clearValidators();\r\n this.orderSettingForm.get(\"OfferDiscount\").updateValueAndValidity();\r\n this.orderSettingForm.get(\"TargetAmount\").clearValidators();\r\n this.orderSettingForm.get(\"TargetAmount\").updateValueAndValidity();\r\n }\r\n }\r\n\r\n onChangeOfferType(offerTypeValue: string) {\r\n this.offerType = offerTypeValue;\r\n }\r\n\r\n getTargetAmountError() {\r\n return this.orderSettingForm.get(\"TargetAmount\").hasError(\"required\")\r\n ? \"\"\r\n : this.orderSettingForm.get(\"TargetAmount\").hasError(\"targetAmountLess\")\r\n ? \"TargetAmountGreaterValidation\"\r\n : // ? this.titleService.getTranslatedString(\"TargetAmountGreaterValidation\")\r\n \"\";\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.orderSettingForm.invalid) {\r\n return;\r\n }\r\n\r\n this.ls.showLoader();\r\n this.loading = true;\r\n this.orderSettingForm.value.TakeAway = this.orderSettingForm.value.TakeAway\r\n ? \"true\"\r\n : \"false\";\r\n this.orderSettingForm.value.UnitId =\r\n this.orderSettingForm.value.EstimateTimeUnit;\r\n\r\n const deliverToVehicleFees =\r\n this.orderSettingForm.value.DeliverToVehicleFees;\r\n const _deliverToVehicleFees: number = +deliverToVehicleFees;\r\n\r\n const formData = {\r\n additionalCharges: this.orderSettingForm.value.AdditionalCharges,\r\n deliverToVehicleFees: _deliverToVehicleFees,\r\n estimateTime: this.orderSettingForm.value.EstimateTime,\r\n // estimateTimeUnit: this.orderSettingForm.value.EstimateTimeUnit,\r\n maxAmount: this.orderSettingForm.value.MaxAmount,\r\n maxItemsInCart: this.orderSettingForm.value.MaxItemInCart,\r\n minOrderPrice: this.orderSettingForm.value.MinOrderPrice,\r\n offerApplyOn: this.orderSettingForm.value.OfferApplyOn,\r\n offerDiscount: this.orderSettingForm.value.OfferDiscount,\r\n offerType: this.orderSettingForm.value.OfferType,\r\n takeAway: this.orderSettingForm.value.TakeAway,\r\n targetAmount: this.orderSettingForm.value.TargetAmount,\r\n unitId: +this.orderSettingForm.value.UnitId,\r\n };\r\n\r\n this.settings.updateOrderSettings(formData).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.ls.hideLoader();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n this.loading = false;\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.loading = false;\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n}\r\n\r\nexport interface OrderSettingResponse {\r\n status: boolean;\r\n message: string;\r\n data: OrderSettings;\r\n}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { SettingsService } from \"common/services/store/settings.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { Paging } from \"src/app/e-commerce/category/category.component\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { Observable, of, Subject } from \"rxjs\";\r\nimport {\r\n catchError,\r\n distinctUntilChanged,\r\n switchMap,\r\n tap,\r\n} from \"rxjs/operators\";\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { ConfirmDialogComponent } from \"common/_components/confirm-dialog/confirm-dialog.component\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\n\r\n@Component({\r\n selector: \"app-pickup-address-list\",\r\n templateUrl: \"./pickup-address-list.component.html\",\r\n styleUrls: [\"./pickup-address-list.component.css\"],\r\n})\r\nexport class PickupAddressListComponent implements OnInit {\r\n pickupAddressLists: PickupAddress[] = null;\r\n\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n // dtOptionsCancelOrder: DataTables.Settings = {};\r\n dtOptionsCancelOrder: Config = {};\r\n\r\n config = constEnv;\r\n\r\n lists: PickupAddress[] = [];\r\n hasLists = false;\r\n\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n @ViewChild(\"autoShownModal\", { static: false })\r\n autoShownModal: ModalDirective;\r\n isModalShown = false;\r\n\r\n pickupaddressActionForm: FormGroup;\r\n loading = false;\r\n\r\n autocompleteLists$: Observable;\r\n autocompleteLoading = false;\r\n autocompleteInput$ = new Subject();\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private settings: SettingsService,\r\n private titleService: TitleService,\r\n private dialog: MatDialog\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"PickupAddress\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.createDataTable();\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: 2,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.settings.getPickupaddressLists().subscribe(\r\n (data) => {\r\n const res = data as ListResponse;\r\n let paging = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n } as Paging;\r\n if (res.status === true) {\r\n this.lists = res.data as PickupAddress[];\r\n // paging = JSON.parse(data.paging) as Paging;\r\n paging.totalCount = this.lists.length;\r\n paging.totalRowsAfterFiltering = this.lists.length;\r\n } else {\r\n this.lists = [];\r\n this.hasLists = false;\r\n paging.totalCount = 0;\r\n paging.totalRowsAfterFiltering = 0;\r\n this.alert.danger(res.message);\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n },\r\n };\r\n }\r\n\r\n createActionForm() {\r\n this.pickupaddressActionForm = this.fb.group({\r\n id: [0],\r\n contactPerson: [null, Validators.required],\r\n location: [null, Validators.required],\r\n locationText: [null],\r\n pickupAddressLatitude: [null],\r\n pickupAddressLongitude: [null],\r\n addressLine: [null, Validators.required],\r\n });\r\n }\r\n\r\n trackByFn(item: AutocompleteAddress) {\r\n return item.text;\r\n }\r\n\r\n showModal(action: string, addressId: number = 0): void {\r\n if (action === \"edit\") {\r\n this.isLoadingService.add();\r\n this.settings.getPickupAddressDetail(addressId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n const addressData = data[\"data\"] as PickupAddress;\r\n this.createActionForm();\r\n this.loadAutocompleteAddress();\r\n this.pickupaddressActionForm.patchValue({\r\n id: addressData.id,\r\n contactPerson: addressData.contactPerson,\r\n location: addressData.location,\r\n locationText: addressData.location,\r\n pickupAddressLatitude: addressData.latitude,\r\n pickupAddressLongitude: addressData.longitude,\r\n addressLine: addressData.addressLine,\r\n });\r\n this.isModalShown = true;\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n } else {\r\n this.createActionForm();\r\n this.loadAutocompleteAddress();\r\n this.isModalShown = true;\r\n }\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n onHidden(): void {\r\n this.isModalShown = false;\r\n this.pickupaddressActionForm.reset();\r\n }\r\n\r\n loadAutocompleteAddress() {\r\n this.autocompleteLists$ = this.autocompleteInput$.pipe(\r\n distinctUntilChanged(),\r\n tap(() => (this.autocompleteLoading = true)),\r\n switchMap((term) =>\r\n this.settings.searchAddress(term).pipe(\r\n catchError(() => of([])), // empty list on error\r\n tap(() => (this.autocompleteLoading = false))\r\n )\r\n )\r\n );\r\n }\r\n\r\n getAutocompeteAddresDetail($event: AutocompleteAddress) {\r\n if (typeof $event !== \"undefined\") {\r\n this.settings.getAddressDetail($event.magicKey, $event.text).subscribe(\r\n (data) => {\r\n this.pickupaddressActionForm\r\n .get(\"locationText\")\r\n .setValue($event.text);\r\n this.pickupaddressActionForm\r\n .get(\"pickupAddressLatitude\")\r\n .setValue(data.location.x);\r\n this.pickupaddressActionForm\r\n .get(\"pickupAddressLongitude\")\r\n .setValue(data.location.y);\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n deletePickupAddress(id: number) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm\",\r\n message: \"DeleteConfirm\",\r\n },\r\n });\r\n\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n this.isLoadingService.add();\r\n this.settings.deletePickupAddress(id).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.datatableElement.dtInstance.then(\r\n // (dtInstance: DataTables.Api) => dtInstance.draw()\r\n (dtInstance) => dtInstance.draw()\r\n );\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n onSubmit() {\r\n if (this.pickupaddressActionForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n\r\n const formData = {\r\n contactPerson: this.pickupaddressActionForm.value.contactPerson,\r\n addressLine: this.pickupaddressActionForm.value.addressLine,\r\n location: this.pickupaddressActionForm.value.locationText,\r\n latitude: this.pickupaddressActionForm.value.pickupAddressLatitude,\r\n longitude: this.pickupaddressActionForm.value.pickupAddressLongitude,\r\n };\r\n\r\n const action = this.pickupaddressActionForm.value.id > 0 ? \"update\" : \"add\";\r\n if (action === \"update\") {\r\n formData[\"id\"] = this.pickupaddressActionForm.value.id;\r\n }\r\n\r\n this.isLoadingService.add();\r\n this.settings.pickupLocationAction(action, formData).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) =>\r\n dtInstance.draw()\r\n );\r\n this.hideModal();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n\r\nexport interface AutocompleteAddress {\r\n text: string;\r\n magicKey: string;\r\n isCollection: boolean;\r\n}\r\n\r\nexport interface StoreAddressDetail {\r\n address: string;\r\n location: AddressDetailLocation;\r\n attributes: any;\r\n extent: any;\r\n score: number;\r\n}\r\n\r\ninterface AddressDetailLocation {\r\n x: number;\r\n y: number;\r\n}\r\n\r\ninterface ListResponse {\r\n status: boolean;\r\n message: string;\r\n data: PickupAddress[];\r\n}\r\n\r\ninterface PickupAddress {\r\n id: number;\r\n contactPerson: string;\r\n addressLine: string;\r\n location: string;\r\n latitude: number;\r\n longitude: number;\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { SettingsService } from \"common/services/store/settings.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\n\r\n@Component({\r\n selector: \"app-policy\",\r\n templateUrl: \"./policy.component.html\",\r\n styleUrls: [\"./policy.component.css\"],\r\n})\r\nexport class PolicyComponent implements OnInit {\r\n policyForm: FormGroup;\r\n submitted = false;\r\n loading = false;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private ls: LoaderService,\r\n private alert: AlertService,\r\n private settings: SettingsService,\r\n private titleService: TitleService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"StorePolicy\");\r\n this.makeForm();\r\n\r\n this.getPolicyData();\r\n }\r\n\r\n makeForm() {\r\n this.policyForm = this.fb.group({\r\n storeReturnPolicy: [\"\"],\r\n customerDropoffPolicy: [\"\"],\r\n });\r\n }\r\n\r\n get f() {\r\n return this.policyForm.controls;\r\n }\r\n\r\n getPolicyData() {\r\n this.ls.showLoader();\r\n this.settings.getPolicyDetail().subscribe(\r\n (data) => {\r\n const res = data as any;\r\n if (res.status === true) {\r\n if (res.data !== null) {\r\n this.setFormValue(res.data);\r\n }\r\n this.ls.hideLoader();\r\n } else {\r\n // this.alert.error(data['message']);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n // this.alert.error(err.error.message);\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n setFormValue(data: any) {\r\n for (const key in data) {\r\n if (\r\n data.hasOwnProperty(key) &&\r\n key !== \"store_id\" &&\r\n key !== \"driver_id\"\r\n ) {\r\n if (typeof data[key] !== null) {\r\n const val = data[key] > 0 ? data[key] : \"\";\r\n this.policyForm.get(key).setValue(val);\r\n }\r\n }\r\n }\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.policyForm.invalid) {\r\n return;\r\n }\r\n\r\n this.ls.showLoader();\r\n this.loading = true;\r\n\r\n this.settings.updatePolicyDetail(this.policyForm.value).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.ls.hideLoader();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n this.loading = false;\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.ls.hideLoader();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\n@Component({\r\n selector: \"app-settings-menu\",\r\n templateUrl: \"./settings-menu.component.html\",\r\n styleUrls: [\"./settings-menu.component.css\"],\r\n})\r\nexport class SettingsMenuComponent implements OnInit {\r\n config = constEnv;\r\n\r\n settingsUrl = `${this.config.STORE_URL}/settings`;\r\n\r\n navItems: SettingsMenu[] = [\r\n { displayName: \"Store\", path: `${this.settingsUrl}/store` },\r\n // { displayName: 'Time', path: `${this.settingsUrl}/time` },\r\n // { displayName: 'DRIVER_Order', path: `${this.settingsUrl}/order` },\r\n {\r\n displayName: \"STORE_Change_Password\",\r\n path: `${this.settingsUrl}/change-password`,\r\n },\r\n {\r\n displayName: \"STORE_Manage_Documents\",\r\n path: `${this.settingsUrl}/documents`,\r\n },\r\n {\r\n displayName: \"StorePolicy\",\r\n path: `${this.settingsUrl}/policy`,\r\n },\r\n {\r\n displayName: \"BankDetails\",\r\n path: `${this.settingsUrl}/bank-detail`,\r\n },\r\n {\r\n displayName: \"PickupAddress\",\r\n path: `${this.settingsUrl}/pickup-address`,\r\n },\r\n ];\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n\r\ninterface SettingsMenu {\r\n displayName: string;\r\n path: string;\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\n\r\nimport { AuthGuard } from \"common/_helpers/auth.guard\";\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\nimport { StoreComponent } from \"./store/store.component\";\r\nimport { TimeComponent } from \"./time/time.component\";\r\nimport { OrderComponent } from \"./order/order.component\";\r\nimport { ChangePasswordComponent } from \"./change-password/change-password.component\";\r\nimport { DocumentsComponent } from \"./documents/documents.component\";\r\nimport { BankDetailComponent } from \"./bank-detail/bank-detail.component\";\r\nimport { PickupAddressListComponent } from \"./pickup-address-list/pickup-address-list.component\";\r\nimport { PolicyComponent } from \"./policy/policy.component\";\r\n\r\nconst routeStore = constEnv.storeEndPoint;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${routeStore}/settings/store`,\r\n component: StoreComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: `${routeStore}/settings/time`,\r\n component: TimeComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: `${routeStore}/settings/order`,\r\n component: OrderComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: `${routeStore}/settings/change-password`,\r\n component: ChangePasswordComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: `${routeStore}/settings/documents`,\r\n component: DocumentsComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: `${routeStore}/settings/bank-detail`,\r\n component: BankDetailComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: `${routeStore}/settings/pickup-address`,\r\n component: PickupAddressListComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: `${routeStore}/settings/policy`,\r\n component: PolicyComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n\r\n {\r\n path: `${routeStore}/settings`,\r\n redirectTo: `${routeStore}/settings/store`,\r\n pathMatch: \"full\",\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {})],\r\n exports: [RouterModule],\r\n})\r\nexport class SettingsRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule, DatePipe } from \"@angular/common\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { TemplateDefaultModule } from \"../../shared/template-default/template-default.module\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\n\r\nimport { Ng2TelInputModule } from \"ng2-tel-input\";\r\nimport { NgxIntlTelInputModule } from \"ngx-intl-tel-input\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\n\r\n// import { AgmCoreModule } from \"@agm/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { TimepickerModule } from \"ngx-bootstrap/timepicker\";\r\nimport { DataTablesModule } from \"angular-datatables\";\r\n\r\nimport { SettingsRoutingModule } from \"./settings-routing.module\";\r\n\r\nimport { StoreComponent } from \"./store/store.component\";\r\nimport { TimeComponent } from \"./time/time.component\";\r\nimport { OrderComponent } from \"./order/order.component\";\r\nimport { ChangePasswordComponent } from \"./change-password/change-password.component\";\r\nimport { DocumentsComponent } from \"./documents/documents.component\";\r\nimport { BankDetailComponent } from \"./bank-detail/bank-detail.component\";\r\nimport { SettingsMenuComponent } from \"./settings-menu/settings-menu.component\";\r\nimport { PickupAddressListComponent } from \"./pickup-address-list/pickup-address-list.component\";\r\nimport { MyDirectiveModule } from \"common/directives/my-directive.module\";\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { INIT_COORDS } from \"common/_components/maps/map-tokens\";\r\nimport { PolicyComponent } from \"./policy/policy.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n StoreComponent,\r\n TimeComponent,\r\n OrderComponent,\r\n ChangePasswordComponent,\r\n DocumentsComponent,\r\n BankDetailComponent,\r\n SettingsMenuComponent,\r\n PickupAddressListComponent,\r\n PolicyComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n BrowserAnimationsModule,\r\n // AgmCoreModule.forRoot({\r\n // apiKey: constEnv.googleMapAPIKey,\r\n // libraries: [\"places\"],\r\n // }),\r\n RouterModule,\r\n TranslateModule.forRoot(),\r\n ReactiveFormsModule,\r\n Ng2TelInputModule,\r\n NgxIntlTelInputModule,\r\n MaterialModule,\r\n TemplateDefaultModule,\r\n ModalModule.forRoot(),\r\n TimepickerModule.forRoot(),\r\n SettingsRoutingModule,\r\n NgSelectModule,\r\n DataTablesModule,\r\n MyDirectiveModule,\r\n ComponentModule,\r\n ],\r\n providers: [\r\n DatePipe,\r\n { provide: INIT_COORDS, useValue: { lat: 32.9756, long: -96.89 } },\r\n ],\r\n})\r\nexport class SettingsModule {}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n ElementRef,\r\n NgZone,\r\n} from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { SettingsService } from \"common/services/store/settings.service\";\r\nimport { StoreUserService } from \"common/services/store/storeUser.service\";\r\n\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n Validators,\r\n ValidatorFn,\r\n AbstractControl,\r\n} from \"@angular/forms\";\r\nimport { MapsAPILoader } from \"@agm/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { StoreUser } from \"common/_models/store/storeUser\";\r\n\r\nimport { AddressInfo } from \"common/_components/maps/interfaces/address-info\";\r\n\r\n@Component({\r\n selector: \"app-store\",\r\n templateUrl: \"./store.component.html\",\r\n styleUrls: [\"./store.component.css\"],\r\n})\r\nexport class StoreComponent implements OnInit {\r\n storeSettingForm: FormGroup;\r\n submitted = false;\r\n\r\n config = constEnv;\r\n\r\n countryCode: string;\r\n countryIsoCode: string;\r\n validMobileNo = true;\r\n\r\n zoom: number;\r\n // initial center position for the map\r\n lat: number;\r\n lng: number;\r\n\r\n private geoCoder;\r\n\r\n // @ViewChild(\"search\", { static: false })\r\n // public searchElementRef: ElementRef;\r\n\r\n markers: marker[] = [];\r\n\r\n isEmailAvailable = false;\r\n iniObj: any;\r\n storeId = 0;\r\n\r\n languages: any;\r\n countryLists: countryList[] = [];\r\n stateLists: stateList[] = [];\r\n cityLists: cityList[] = [];\r\n\r\n cuisineLists = [];\r\n selectedCuisine = [];\r\n dropdownSettings = {};\r\n\r\n deliveryHandleDp = [\r\n { key: 2, value: \"Both\" },\r\n { key: 1, value: \"Store\" },\r\n { key: 0, value: \"Admin\" },\r\n ];\r\n\r\n loading = false;\r\n\r\n constructor(\r\n private alert: AlertService,\r\n private ls: LoaderService,\r\n private fb: FormBuilder,\r\n private lang: LanguageService,\r\n private general: GeneralService,\r\n private ngZone: NgZone,\r\n private settings: SettingsService,\r\n private su: StoreUserService,\r\n private translate: TranslateService,\r\n private titleService: TitleService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"STORE_Settings\");\r\n this.zoom = this.config.defaultZoom;\r\n this.lat = this.config.defaultLatitude;\r\n this.lng = this.config.defaultLongitude;\r\n\r\n //this.placeAutoCompleteField();\r\n\r\n this.makeForm();\r\n\r\n this.getAllLanguage();\r\n this.getCountryList();\r\n\r\n this.getStoreData();\r\n }\r\n\r\n getStoreData() {\r\n this.ls.showLoader();\r\n this.settings.getStoreData().subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n const storeData = data[\"data\"] as StoreUser;\r\n this.setFormValue(storeData);\r\n this.ls.hideLoader();\r\n } else {\r\n // this.alert.error(data['message']);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n // this.alert.error(err.error.message);\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n private makeForm() {\r\n const zipCodeRegex: RegExp =\r\n /^(?!.*[\\s-]{2,})[A-Za-z0-9][A-Za-z\\d\\- ]{0,22}[A-Za-z\\d]$/;\r\n\r\n this.storeSettingForm = this.fb.group({\r\n storeName: [\"\", Validators.required],\r\n email: [\"\", Validators.required],\r\n contactPersonName: [\"\", Validators.required],\r\n mobileNo: [\"\", Validators.required],\r\n location: [\"\", Validators.required],\r\n locationLatitude: [\"\"],\r\n locationLongitude: [\"\"],\r\n storeAddress: [\"\", Validators.required],\r\n addressLine1: [\"\", Validators.required],\r\n addressLine2: [\"\"],\r\n landmark: [\"\"],\r\n storeZipCode: [\"\", [Validators.required, this.zipCodeValidator()]],\r\n countryId: [null, Validators.required],\r\n stateId: [null, Validators.required],\r\n cityId: [null, Validators.required],\r\n languageId: [null, Validators.required],\r\n vatNumber: [\"\"],\r\n deliveryHandleId: [null, Validators.required],\r\n });\r\n }\r\n\r\n get f() {\r\n return this.storeSettingForm.controls;\r\n }\r\n\r\n zipCodeValidator(): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n const value = control.value;\r\n if (!value) return null;\r\n if (\r\n value.startsWith(\" \") ||\r\n value.endsWith(\" \") ||\r\n value.startsWith(\"-\") ||\r\n value.endsWith(\"-\")\r\n ) {\r\n return { invalidZipCode: { value: control.value } };\r\n }\r\n const spacesCount = (value.match(/ /g) || []).length;\r\n const dashesCount = (value.match(/-/g) || []).length;\r\n\r\n if (spacesCount > 1 || dashesCount > 1) {\r\n return { invalidZipCode: { value: control.value } };\r\n }\r\n\r\n const regex = /^[a-zA-Z0-9\\- ]+$/;\r\n if (!regex.test(value)) {\r\n return { invalidZipCode: { value: control.value } };\r\n }\r\n\r\n return null;\r\n };\r\n }\r\n\r\n hasError(obj) {\r\n if (!obj && this.countryIsoCode === \"ae\") {\r\n const selectedNumber = this.iniObj.getNumber();\r\n // if (regex.test(selectedNumber)) {\r\n // this.validMobileNo = true;\r\n // } else {\r\n // this.validMobileNo = false;\r\n // }\r\n this.validMobileNo =\r\n /^(?:\\+971|00971|0)?(?:50|52|53|54|55|56|57|58|59|2|3|4|6|7|9)\\d{7}$/gm.test(\r\n selectedNumber\r\n );\r\n } else {\r\n this.validMobileNo = obj;\r\n }\r\n }\r\n\r\n setFormValue(storeData: StoreUser) {\r\n this.onCountryChange(storeData.countryId);\r\n this.onStateChange(storeData.stateId);\r\n if (storeData.phoneCode !== null) {\r\n this.iniObj.setNumber(storeData.phoneCode);\r\n }\r\n // this.storeId = storeData.StoreId;\r\n this.isEmailAvailable = storeData.email !== \"\" ? true : false;\r\n\r\n this.storeSettingForm.get(\"storeName\").setValue(storeData.storeName);\r\n this.storeSettingForm.get(\"email\").setValue(storeData.email);\r\n this.storeSettingForm\r\n .get(\"contactPersonName\")\r\n .setValue(storeData.contactPerson);\r\n this.storeSettingForm.get(\"mobileNo\").setValue(storeData.phone);\r\n this.storeSettingForm.get(\"location\").setValue(storeData.location);\r\n this.storeSettingForm.get(\"locationLatitude\").setValue(storeData.latitude);\r\n this.storeSettingForm\r\n .get(\"locationLongitude\")\r\n .setValue(storeData.longitude);\r\n this.storeSettingForm.get(\"storeAddress\").setValue(storeData.addressLine);\r\n this.storeSettingForm.get(\"addressLine1\").setValue(storeData.addressLine1);\r\n this.storeSettingForm.get(\"addressLine2\").setValue(storeData.addressLine2);\r\n this.storeSettingForm.get(\"landmark\").setValue(storeData.landmark);\r\n this.storeSettingForm.get(\"storeZipCode\").setValue(storeData.zipCode);\r\n this.storeSettingForm\r\n .get(\"countryId\")\r\n .setValue(storeData.countryId > 0 ? storeData.countryId : null);\r\n this.storeSettingForm\r\n .get(\"stateId\")\r\n .setValue(storeData.stateId > 0 ? storeData.stateId : null);\r\n this.storeSettingForm\r\n .get(\"cityId\")\r\n .setValue(storeData.cityId > 0 ? storeData.cityId : null);\r\n this.storeSettingForm\r\n .get(\"languageId\")\r\n .setValue(storeData.langId.toString());\r\n this.storeSettingForm\r\n .get(\"deliveryHandleId\")\r\n .setValue(storeData.deliveryHandleId);\r\n this.storeSettingForm.get(\"vatNumber\").setValue(storeData.vat);\r\n\r\n this.lat = parseFloat(storeData.latitude);\r\n this.lng = parseFloat(storeData.longitude);\r\n\r\n this.createMarker(this.lat, this.lng, storeData.location, true);\r\n }\r\n\r\n onDeSelectAll(items: any) {\r\n this.selectedCuisine = [];\r\n }\r\n\r\n private placeAutoCompleteField() {\r\n // this.mapsAPILoader.load().then(() => {\r\n // // this.setCurrentLocation();\r\n // this.geoCoder = new google.maps.Geocoder();\r\n // const autocomplete = new google.maps.places.Autocomplete(\r\n // this.searchElementRef.nativeElement,\r\n // {\r\n // types: [\"address\"],\r\n // }\r\n // );\r\n // autocomplete.addListener(\"place_changed\", () => {\r\n // this.ngZone.run(() => {\r\n // // get the place result\r\n // const place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n // // verify result\r\n // if (place.geometry === undefined || place.geometry === null) {\r\n // return;\r\n // }\r\n // // set latitude, longitude and zoom\r\n // this.lat = place.geometry.location.lat();\r\n // this.lng = place.geometry.location.lng();\r\n // this.zoom = 12;\r\n // this.storeSettingForm\r\n // .get(\"location\")\r\n // .setValue(place.formatted_address);\r\n // this.storeSettingForm.get(\"locationLatitude\").setValue(this.lat);\r\n // this.storeSettingForm.get(\"locationLongitude\").setValue(this.lng);\r\n // this.createMarker(this.lat, this.lng);\r\n // });\r\n // });\r\n // });\r\n }\r\n\r\n // Get Current Location Coordinates\r\n private setCurrentLocation() {\r\n if (\"geolocation\" in navigator) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.lat = position.coords.latitude;\r\n this.lng = position.coords.longitude;\r\n this.zoom = 8;\r\n\r\n this.storeSettingForm.get(\"locationLatitude\").setValue(this.lat);\r\n this.storeSettingForm.get(\"locationLongitude\").setValue(this.lng);\r\n\r\n this.createMarker(this.lat, this.lng);\r\n //this.getAddress(this.lat, this.lng);\r\n });\r\n }\r\n }\r\n\r\n getAddress(latitude, longitude) {\r\n this.geoCoder.geocode(\r\n { location: { lat: latitude, lng: longitude } },\r\n (results, status) => {\r\n if (status === \"OK\") {\r\n if (results[0]) {\r\n this.zoom = 12;\r\n this.storeSettingForm\r\n .get(\"location\")\r\n .setValue(results[0].formatted_address);\r\n } else {\r\n // window.alert('No results found');\r\n this.alert.danger(\"No results found\");\r\n }\r\n } else {\r\n // window.alert('Geocoder failed due to: ' + status);\r\n this.alert.danger(\"Geocoder failed due to: \" + status);\r\n }\r\n }\r\n );\r\n }\r\n\r\n getSelectedAddress(address: AddressInfo) {\r\n if (address) {\r\n this.storeSettingForm.get(\"location\").setValue(address.text);\r\n\r\n this.storeSettingForm\r\n .get(\"locationLatitude\")\r\n .setValue(address.latlng.lat);\r\n this.storeSettingForm\r\n .get(\"locationLongitude\")\r\n .setValue(address.latlng.lng);\r\n\r\n const selectedCountry = this.countryLists.find(\r\n (item) => item.countryName === address.properties.CntryName\r\n );\r\n if (selectedCountry) {\r\n this.storeSettingForm\r\n .get(\"countryId\")\r\n .setValue(selectedCountry.countryId);\r\n this.onCountryChange(selectedCountry.countryId);\r\n }\r\n\r\n setTimeout(() => {\r\n const selectedState = this.stateLists.find(\r\n (item) => item.stateName === address.properties.Region\r\n );\r\n if (selectedState) {\r\n this.storeSettingForm.get(\"stateId\").setValue(selectedState.stateId);\r\n this.onStateChange(selectedState.stateId);\r\n }\r\n\r\n setTimeout(() => {\r\n const selectedCity = this.cityLists.find(\r\n (item) => item.cityName === address.properties.City\r\n );\r\n if (selectedCity) {\r\n this.storeSettingForm.get(\"cityId\").setValue(selectedCity.cityId);\r\n }\r\n }, 500);\r\n }, 500);\r\n\r\n // this.storeSettingForm.get(\"storeAddress\").setValue(storeData.addressLine);\r\n const postalCode = address.properties.PostalExt\r\n ? address.properties.Postal + \" \" + address.properties.PostalExt\r\n : address.properties.Postal;\r\n this.storeSettingForm.get(\"storeZipCode\").setValue(postalCode);\r\n\r\n const stAddress = address.properties.StAddr\r\n ? address.properties.StAddr\r\n : \"\";\r\n const stAddressLine = address.properties.Address\r\n ? address.properties.Address\r\n : \"\";\r\n\r\n const addressLine1 = stAddress ? stAddress : stAddressLine;\r\n\r\n this.storeSettingForm.get(\"addressLine1\").setValue(addressLine1);\r\n\r\n const nbrhd = address.properties.Nbrhd ? address.properties.Nbrhd : \"\";\r\n const nbrhdLine = address.properties.Neighborhood\r\n ? address.properties.Neighborhood\r\n : \"\";\r\n\r\n const neighborhood = nbrhd ? nbrhd : nbrhdLine;\r\n\r\n this.storeSettingForm.get(\"landmark\").setValue(neighborhood);\r\n\r\n this.updateAddressLine();\r\n }\r\n }\r\n\r\n updateAddressLine() {\r\n const addressLine1 = this.storeSettingForm.get(\"addressLine1\").value;\r\n const addressLine2 = this.storeSettingForm.get(\"addressLine2\").value;\r\n const landmark = this.storeSettingForm.get(\"landmark\").value;\r\n const postcode = this.storeSettingForm.get(\"storeZipCode\").value;\r\n\r\n const combinedAddress = [addressLine1, addressLine2, landmark, postcode]\r\n .filter(Boolean)\r\n .join(\", \");\r\n\r\n this.storeSettingForm.get(\"storeAddress\").setValue(combinedAddress);\r\n }\r\n\r\n onPhoneCodeChange(obj) {\r\n this.countryCode = obj.dialCode;\r\n this.countryIsoCode = obj.iso2;\r\n }\r\n\r\n telInputObject(obj) {\r\n this.iniObj = obj;\r\n const countryData = obj.getSelectedCountryData();\r\n this.countryCode = countryData.dialCode;\r\n this.countryIsoCode = countryData.iso2;\r\n }\r\n\r\n private getAllLanguage() {\r\n this.ls.showLoader();\r\n this.lang.getAllLanguages().subscribe((data) => {\r\n if (data[\"status\"] === true) {\r\n this.languages = data[\"data\"];\r\n }\r\n });\r\n }\r\n\r\n private getCountryList() {\r\n this.general.getAllCountry().subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.countryLists = data[\"data\"];\r\n }\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n createMarker(lat, lng, label = \"\", draggable = false) {\r\n this.markers.push({\r\n lat,\r\n lng,\r\n label,\r\n draggable,\r\n });\r\n }\r\n\r\n onCountryChange(countryId: number) {\r\n if (countryId > 0) {\r\n this.ls.showLoader();\r\n this.stateLists = [];\r\n this.cityLists = [];\r\n this.storeSettingForm.get(\"stateId\").setValue(null);\r\n this.storeSettingForm.get(\"cityId\").setValue(null);\r\n this.general.getstateByCountryId(countryId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.stateLists = data[\"data\"];\r\n }\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n } else {\r\n this.stateLists = [];\r\n this.cityLists = [];\r\n }\r\n }\r\n\r\n onStateChange(stateId: number) {\r\n if (stateId > 0) {\r\n this.ls.showLoader();\r\n this.cityLists = [];\r\n this.storeSettingForm.get(\"cityId\").setValue(null);\r\n this.general.getcityByStateId(stateId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.cityLists = data[\"data\"];\r\n }\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n } else {\r\n this.cityLists = [];\r\n }\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.storeSettingForm.invalid) {\r\n return;\r\n }\r\n\r\n const LanguageId = this.storeSettingForm.value.languageId;\r\n\r\n const formData = {\r\n cityId: this.storeSettingForm.value.cityId,\r\n contactPerson: this.storeSettingForm.value.contactPersonName,\r\n countryId: this.storeSettingForm.value.countryId,\r\n Email: this.storeSettingForm.value.email,\r\n location: this.storeSettingForm.value.location,\r\n longitude: this.storeSettingForm.value.locationLongitude,\r\n latitude: this.storeSettingForm.value.locationLatitude,\r\n phone: this.storeSettingForm.value.mobileNo,\r\n phoneCode: this.countryCode,\r\n regionCode: this.countryIsoCode,\r\n stateId: this.storeSettingForm.value.stateId,\r\n addressLine: this.storeSettingForm.value.storeAddress,\r\n addressLine1: this.storeSettingForm.value.addressLine1,\r\n addressLine2: this.storeSettingForm.value.addressLine2,\r\n landmark: this.storeSettingForm.value.landmark,\r\n storeName: this.storeSettingForm.value.storeName,\r\n zipCode: this.storeSettingForm.value.storeZipCode,\r\n vat: this.storeSettingForm.value.vatNumber,\r\n langId: LanguageId,\r\n deliveryHandleId: this.storeSettingForm.value.deliveryHandleId,\r\n };\r\n\r\n this.ls.showLoader();\r\n this.loading = true;\r\n this.settings.updateStoreData(formData).subscribe(\r\n async (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n\r\n const defaultLang = this.lang.getDefaultLanguage();\r\n if (defaultLang.id !== LanguageId.toString()) {\r\n const langDetail = this.lang.getLanguageDetailById(LanguageId);\r\n this.lang.changeLanguage(langDetail.lang_code);\r\n }\r\n\r\n await this.general.getDefaultSettingsValue();\r\n\r\n this.su.getProfile().subscribe(\r\n (data) => {\r\n setTimeout(() => {\r\n window.location.href = window.location.href;\r\n }, 2000);\r\n },\r\n (err) => {\r\n this.ls.hideLoader();\r\n }\r\n );\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.loading = false;\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface marker {\r\n lat: number;\r\n lng: number;\r\n label?: string;\r\n draggable: boolean;\r\n}\r\n\r\ninterface countryList {\r\n countryId: number;\r\n countryName?: string;\r\n}\r\n\r\ninterface stateList {\r\n stateId: number;\r\n stateName?: string;\r\n}\r\n\r\ninterface cityList {\r\n cityId: number;\r\n cityName?: string;\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n Validators,\r\n FormControl,\r\n AbstractControl,\r\n} from \"@angular/forms\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { SettingsService } from \"common/services/store/settings.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\n\r\n@Component({\r\n selector: \"app-time\",\r\n templateUrl: \"./time.component.html\",\r\n styleUrls: [\"./time.component.css\"],\r\n})\r\nexport class TimeComponent implements OnInit {\r\n timeSettingForm: FormGroup;\r\n submitted = false;\r\n valid = true;\r\n\r\n config = constEnv;\r\n\r\n loading = false;\r\n\r\n constructor(\r\n private alert: AlertService,\r\n private ls: LoaderService,\r\n private fb: FormBuilder,\r\n private settings: SettingsService,\r\n private titleService: TitleService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Time Setting\");\r\n this.makeForm();\r\n\r\n this.getTimeSlot();\r\n }\r\n\r\n private makeForm() {\r\n this.timeSettingForm = this.fb.group({\r\n weekDaySlot1StartTime: [\"\", Validators.required],\r\n weekDaySlot1EndTime: [\"\", Validators.required],\r\n weekDaySlot2StartTime: [\"\"],\r\n weekDaySlot2EndTime: [\"\"],\r\n weekEndSlot1StartTime: [\"\", Validators.required],\r\n weekEndSlot1EndTime: [\"\", Validators.required],\r\n weekEndSlot2StartTime: [\"\"],\r\n weekEndSlot2EndTime: [\"\"],\r\n });\r\n }\r\n\r\n setFormValues(fieldValues) {\r\n const myTimeValues = [];\r\n fieldValues.forEach((fieldValue) => {\r\n const weekType = fieldValue.weekId === 1 ? \"weekDay\" : \"weekEnd\";\r\n const slots = fieldValue.weekSlot;\r\n slots.forEach((slot) => {\r\n const startTimeKey = `${weekType}Slot${slot.slot}StartTime`;\r\n const endTimeKey = `${weekType}Slot${slot.slot}EndTime`;\r\n\r\n const startTime = slot.startTime;\r\n const startParts = startTime.split(\":\");\r\n const endTime = slot.endTime;\r\n const endParts = endTime.split(\":\");\r\n\r\n if (startParts[0] !== \"\" && startParts[1] !== \"\") {\r\n const sTime = new Date();\r\n sTime.setHours(parseFloat(startParts[0]));\r\n sTime.setMinutes(parseFloat(startParts[1]));\r\n myTimeValues[startTimeKey] = sTime;\r\n } else {\r\n myTimeValues[startTimeKey] = \"\";\r\n }\r\n\r\n if (endParts[0] !== \"\" && endParts[1] !== \"\") {\r\n const eTime = new Date();\r\n eTime.setHours(parseFloat(endParts[0]));\r\n eTime.setMinutes(parseFloat(endParts[1]));\r\n myTimeValues[endTimeKey] = eTime;\r\n } else {\r\n myTimeValues[endTimeKey] = \"\";\r\n }\r\n });\r\n });\r\n\r\n this.timeSettingForm\r\n .get(\"weekDaySlot1StartTime\")\r\n .setValue(myTimeValues[\"weekDaySlot1StartTime\"]);\r\n this.timeSettingForm\r\n .get(\"weekDaySlot1EndTime\")\r\n .setValue(myTimeValues[\"weekDaySlot1EndTime\"]);\r\n this.timeSettingForm\r\n .get(\"weekDaySlot2StartTime\")\r\n .setValue(myTimeValues[\"weekDaySlot2StartTime\"]);\r\n this.timeSettingForm\r\n .get(\"weekDaySlot2EndTime\")\r\n .setValue(myTimeValues[\"weekDaySlot2EndTime\"]);\r\n\r\n this.timeSettingForm\r\n .get(\"weekEndSlot1StartTime\")\r\n .setValue(myTimeValues[\"weekEndSlot1StartTime\"]);\r\n this.timeSettingForm\r\n .get(\"weekEndSlot1EndTime\")\r\n .setValue(myTimeValues[\"weekEndSlot1EndTime\"]);\r\n this.timeSettingForm\r\n .get(\"weekEndSlot2StartTime\")\r\n .setValue(myTimeValues[\"weekEndSlot2StartTime\"]);\r\n this.timeSettingForm\r\n .get(\"weekEndSlot2EndTime\")\r\n .setValue(myTimeValues[\"weekEndSlot2EndTime\"]);\r\n }\r\n\r\n getTimeSlot() {\r\n this.ls.showLoader();\r\n this.settings.getTimeData().subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.setFormValues(data[\"data\"]);\r\n }\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n // console.log(err);\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n isValid(event: boolean) {\r\n this.valid = event;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n // this.alert.clear();\r\n\r\n if (this.timeSettingForm.invalid) {\r\n this.alert.danger(\"Please fill required fields.\");\r\n return;\r\n }\r\n\r\n const fieldValues = this.timeSettingForm.value;\r\n\r\n const fValues = [];\r\n for (const fieldValue in fieldValues) {\r\n if (fieldValue !== \"\") {\r\n const fDate = fieldValues[fieldValue];\r\n\r\n if (typeof fDate !== \"undefined\" && fDate !== null && fDate !== \"\") {\r\n const h = (fDate.getHours() < 10 ? \"0\" : \"\") + fDate.getHours();\r\n const m = (fDate.getMinutes() < 10 ? \"0\" : \"\") + fDate.getMinutes();\r\n fValues[fieldValue] = `${h}:${m}`;\r\n } else {\r\n fValues[fieldValue] = \"\";\r\n }\r\n }\r\n }\r\n\r\n const formData = [\r\n {\r\n weekId: 1,\r\n weekSlot: [\r\n {\r\n startTime: fValues[\"weekDaySlot1StartTime\"],\r\n endTime: fValues[\"weekDaySlot1EndTime\"],\r\n slot: 1,\r\n },\r\n {\r\n startTime: fValues[\"weekDaySlot2StartTime\"],\r\n endTime: fValues[\"weekDaySlot2EndTime\"],\r\n slot: 2,\r\n },\r\n ],\r\n },\r\n {\r\n weekId: 2,\r\n weekSlot: [\r\n {\r\n startTime: fValues[\"weekEndSlot1StartTime\"],\r\n endTime: fValues[\"weekEndSlot1EndTime\"],\r\n slot: 1,\r\n },\r\n {\r\n startTime: fValues[\"weekEndSlot2StartTime\"],\r\n endTime: fValues[\"weekEndSlot2EndTime\"],\r\n slot: 2,\r\n },\r\n ],\r\n },\r\n ];\r\n\r\n this.ls.showLoader();\r\n this.loading = true;\r\n this.settings.updateTimeData(formData).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.ls.hideLoader();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n this.loading = false;\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.loading = false;\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport {\r\n FormArray,\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\n\r\n@Component({\r\n selector: \"app-action\",\r\n templateUrl: \"./action.component.html\",\r\n styleUrls: [\"./action.component.css\"],\r\n})\r\nexport class ActionComponent implements OnInit {\r\n config = constEnv;\r\n\r\n action: string;\r\n id: number;\r\n listUrl: string;\r\n pageTitle: string;\r\n\r\n actionForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n deliveryZoneLists: DeliveryZone[] = null;\r\n\r\n isCustomValidity = false;\r\n isDiscountPer = false;\r\n\r\n defaultLamguage: any;\r\n allLanguages: any[] = [];\r\n availableLangs = [];\r\n\r\n currentDate = new Date();\r\n expiredDate = new Date();\r\n\r\n showUsageLimit = true;\r\n makeCustomerReadOnly = false;\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private ls: IsLoadingService,\r\n private gs: GeneralService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.action = this.route.snapshot.params.action;\r\n this.listUrl = `${this.config.STORE_URL}/shipping-rate`;\r\n\r\n this.checkValidAction();\r\n }\r\n\r\n private checkValidAction() {\r\n if (this.action !== \"add\" && this.action !== \"edit\") {\r\n this.router.navigate([this.listUrl]);\r\n }\r\n\r\n this.makeForm();\r\n if (this.action === \"edit\") {\r\n this.id =\r\n typeof this.route.snapshot.params.id !== \"undefined\" &&\r\n this.route.snapshot.params.id > 0\r\n ? this.route.snapshot.params.id\r\n : 0;\r\n if (this.id <= 0) {\r\n this.router.navigate([this.listUrl]);\r\n }\r\n\r\n this.pageTitle = \"EditShippingRate\";\r\n\r\n this.getSingleShippingRate();\r\n } else {\r\n this.pageTitle = \"AddShippingRate\";\r\n }\r\n\r\n this.titleService.setTitle(this.pageTitle);\r\n this.getDeliveryZoneLists();\r\n }\r\n\r\n getDeliveryZoneLists() {\r\n this.gs.getDeliveryZoneForStore().subscribe(\r\n (data) => {\r\n if (data[\"status\"]) {\r\n this.deliveryZoneLists = data[\"data\"] as DeliveryZone[];\r\n this.ls.remove();\r\n } else {\r\n // this.alert.danger(data['message']);\r\n this.deliveryZoneLists = null;\r\n this.ls.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n // this.alert.danger(msg);\r\n }\r\n this.deliveryZoneLists = null;\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n\r\n private makeForm() {\r\n this.actionForm = this.fb.group(\r\n {\r\n id: [0],\r\n zoneId: [null, Validators.required],\r\n minWeight: [\"\", Validators.required],\r\n maxWeight: [\"\", Validators.required],\r\n perWeightPrice: [\"\", Validators.required],\r\n minLength: [\"\", Validators.required],\r\n maxLength: [\"\", Validators.required],\r\n minWidth: [\"\", Validators.required],\r\n maxWidth: [\"\", Validators.required],\r\n minHeight: [\"\", Validators.required],\r\n maxHeight: [\"\", Validators.required],\r\n freeDeliveryCharges: [\"\", Validators.required],\r\n },\r\n {\r\n validators: [\r\n CustomValidator.OnlyZeroNotAllowed(\"minWeight\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"maxWeight\"),\r\n CustomValidator.checkMaxValueFromMinValue(\"minWeight\", \"maxWeight\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"perWeightPrice\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"minLength\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"maxLength\"),\r\n CustomValidator.checkMaxValueFromMinValue(\"minLength\", \"maxLength\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"minWidth\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"maxWidth\"),\r\n CustomValidator.checkMaxValueFromMinValue(\"minWidth\", \"maxWidth\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"minHeight\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"maxHeight\"),\r\n CustomValidator.checkMaxValueFromMinValue(\"minHeight\", \"maxHeight\"),\r\n CustomValidator.OnlyZeroNotAllowed(\"freeDeliveryCharges\"),\r\n ],\r\n }\r\n );\r\n }\r\n\r\n get f() {\r\n return this.actionForm.controls;\r\n }\r\n\r\n getSingleShippingRate() {\r\n this.ls.add();\r\n this.gs.getShippingRateById(this.id).subscribe(\r\n (data) => {\r\n if (data[\"status\"]) {\r\n const formData = data[\"data\"] as ShippingRate;\r\n this.setFormData(formData);\r\n\r\n this.ls.remove();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n\r\n setFormData(formData: ShippingRate) {\r\n const fieldData = {\r\n id: formData.id,\r\n zoneId: formData.zoneId,\r\n minWeight: formData.minWeight,\r\n maxWeight: formData.maxWeight,\r\n perWeightPrice: formData.perWeightPrice,\r\n minLength: formData.minLength,\r\n maxLength: formData.maxLength,\r\n minWidth: formData.minWidth,\r\n maxWidth: formData.maxWidth,\r\n minHeight: formData.minHeight,\r\n maxHeight: formData.maxHeight,\r\n freeDeliveryCharges: formData.freeDeliveryCharges,\r\n };\r\n this.actionForm.patchValue(fieldData);\r\n\r\n Object.keys(this.actionForm.controls).forEach((key) => {\r\n const ctrl = this.actionForm.get(key);\r\n ctrl.markAsTouched({ onlySelf: true });\r\n });\r\n }\r\n\r\n submit() {\r\n this.submitted = true;\r\n\r\n if (this.actionForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.ls.add();\r\n\r\n this.gs.addEditShippingRate(this.actionForm.value).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.ls.remove();\r\n this.router.navigate([`${this.listUrl}`]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.ls.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface DeliveryZone {\r\n id: number;\r\n name: string;\r\n}\r\n\r\ninterface ShippingRate {\r\n id: number;\r\n status: boolean;\r\n zoneId: number;\r\n minWeight: number;\r\n maxWeight: number;\r\n perWeightPrice: number;\r\n minLength: number;\r\n maxLength: number;\r\n minWidth: number;\r\n maxWidth: number;\r\n minHeight: number;\r\n maxHeight: number;\r\n roleIdentifierId: number;\r\n roleIdentifier: number;\r\n freeDeliveryCharges: number;\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n TemplateRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { Subscription, combineLatest } from \"rxjs\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ConfirmDialogComponent } from \"common/_components/confirm-dialog/confirm-dialog.component\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\n\r\n@Component({\r\n selector: \"app-list\",\r\n templateUrl: \"./list.component.html\",\r\n styleUrls: [\"./list.component.css\"],\r\n})\r\nexport class ListComponent implements OnInit {\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n hasLists = false;\r\n lists: ShippingRate[] = [];\r\n\r\n modalRef: BsModalRef;\r\n subscriptions: Subscription[] = [];\r\n\r\n selectedId = 0;\r\n\r\n config = constEnv;\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private ls: IsLoadingService,\r\n private dialog: MatDialog,\r\n private gs: GeneralService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"PromoCode\");\r\n\r\n if (this.ls.isLoading$()) {\r\n this.ls.remove();\r\n }\r\n\r\n this.createTable();\r\n }\r\n\r\n createTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: -1,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.hasLists = false;\r\n\r\n this.gs\r\n .getShippingRateLists(dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (resp) => {\r\n let paging: any;\r\n if (resp[\"status\"] === true) {\r\n this.lists = resp[\"data\"] as ShippingRate[];\r\n\r\n paging = JSON.parse(resp[\"paging\"]);\r\n } else {\r\n paging = { totalCount: 0, totalRowsAfterFiltering: 0 };\r\n this.lists = [];\r\n this.hasLists = false;\r\n }\r\n\r\n if (this.lists.length > 0) {\r\n this.hasLists = true;\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(msg);\r\n }\r\n this.lists = [];\r\n this.hasLists = false;\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n }\r\n );\r\n },\r\n };\r\n }\r\n\r\n changeStatus(Id, status) {\r\n if (Id > 0) {\r\n this.ls.add();\r\n this.gs.shippingRateChangeStatus(Id, status ? 1 : 0).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true && data[\"message\"] !== \"\") {\r\n this.alert.success(data[\"message\"]);\r\n } else {\r\n if (data[\"message\"] !== \"\") {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n }\r\n\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) =>\r\n dtInstance.draw()\r\n );\r\n this.ls.remove();\r\n // this.loadProductLists();\r\n },\r\n (err) => {\r\n this.alert.danger(err.error.message);\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n }\r\n\r\n delete(id) {\r\n if (id > 0) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm\",\r\n message: \"DeleteConfirm\",\r\n },\r\n });\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n this.ls.add();\r\n this.gs.deleteShippingRate(id).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.datatableElement.dtInstance.then(\r\n // (dtInstance: DataTables.Api) => dtInstance.draw()\r\n (dtInstance) => dtInstance.draw()\r\n );\r\n this.ls.remove();\r\n // this.loadProductLists();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n }\r\n}\r\n\r\ninterface ShippingRate {\r\n id: number;\r\n zoneName: string;\r\n freeDeliveryCharges: number;\r\n status: boolean;\r\n perWeightPrice: number;\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AuthGuard } from \"common/_helpers/auth.guard\";\r\n\r\nimport { ListComponent } from \"./list/list.component\";\r\nimport { ActionComponent } from \"./action/action.component\";\r\n\r\nconst routeStore = constEnv.storeEndPoint;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${routeStore}/shipping-rate`,\r\n children: [\r\n {\r\n path: \":action\",\r\n children: [\r\n { path: \":id\", component: ActionComponent },\r\n { path: \"\", component: ActionComponent },\r\n ],\r\n },\r\n { path: \"\", component: ListComponent },\r\n ],\r\n canActivate: [AuthGuard],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class ShippingRateRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { DataTablesModule } from \"angular-datatables\";\r\nimport { MyDirectiveModule } from \"common/directives/my-directive.module\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { TemplateDefaultModule } from \"../../shared/template-default/template-default.module\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\n\r\nimport { ShippingRateRoutingModule } from \"./shipping-rate-routing.module\";\r\nimport { ListComponent } from \"./list/list.component\";\r\nimport { ActionComponent } from \"./action/action.component\";\r\n\r\n@NgModule({\r\n declarations: [ListComponent, ActionComponent],\r\n imports: [\r\n CommonModule,\r\n ShippingRateRoutingModule,\r\n RouterModule,\r\n TranslateModule.forRoot(),\r\n ReactiveFormsModule,\r\n DataTablesModule,\r\n ComponentModule,\r\n MaterialModule,\r\n NgSelectModule,\r\n TemplateDefaultModule,\r\n MyDirectiveModule,\r\n ],\r\n})\r\nexport class ShippingRateModule {}\r\n","import {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n NgZone,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n Validators,\r\n FormArray,\r\n FormControl,\r\n} from \"@angular/forms\";\r\nimport { first } from \"rxjs/operators\";\r\nimport {\r\n Dimensions,\r\n ImageCroppedEvent,\r\n ImageTransform,\r\n} from \"ngx-image-cropper\";\r\nimport { base64ToFile } from \"ngx-image-cropper\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { VehicleService } from \"common/services/store/vehicle.service\";\r\nimport {\r\n Vehicle,\r\n VehicleMake,\r\n vehicleModel,\r\n VehicleType,\r\n} from \"common/_models/store/vehicle.model\";\r\n\r\n@Component({\r\n selector: \"app-action\",\r\n templateUrl: \"./action.component.html\",\r\n styleUrls: [\"./action.component.css\"],\r\n})\r\nexport class ActionComponent implements OnInit {\r\n config = constEnv;\r\n\r\n actionForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n\r\n languages = [];\r\n\r\n pageTitle = \"DRIVER_Add_Vehicle\";\r\n\r\n action: string;\r\n id: number;\r\n\r\n isEmailAvailable = false;\r\n\r\n listUrl = `${this.config.STORE_URL}/vehicle`;\r\n\r\n currentYear = new Date().getFullYear();\r\n vehicleYear = [];\r\n\r\n vehicleType: VehicleType[] = [];\r\n vehicleMake: VehicleMake[] = [];\r\n vehicleModel: vehicleModel[] = [];\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private alert: AlertService,\r\n private titleService: TitleService,\r\n private isLoadingService: IsLoadingService,\r\n private vehicle: VehicleService\r\n ) {\r\n this.action = route.snapshot.params.action;\r\n }\r\n\r\n ngOnInit() {\r\n this.document.body.classList.add(\"driver-action\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n for (let i = this.currentYear; i >= 1970; i--) {\r\n this.vehicleYear.push(i);\r\n }\r\n\r\n switch (this.action) {\r\n case \"edit\":\r\n const id = this.route.snapshot.params.id;\r\n this.id = typeof id !== \"undefined\" ? id : 0;\r\n if (this.id <= 0) {\r\n this.router.navigate([this.listUrl]);\r\n }\r\n\r\n this.pageTitle = \"Edit_Vehicle\";\r\n\r\n if (this.id > 0) {\r\n this.makeForm();\r\n this.getAutoloadData();\r\n\r\n this.isLoadingService.add();\r\n this.vehicle\r\n .getVehiclebyId(this.id)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n const formData = data[\"data\"] as Vehicle;\r\n this.setFormValue(formData);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.router.navigate([`${this.listUrl}`]);\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n } else {\r\n this.router.navigate([`${this.listUrl}`]);\r\n }\r\n break;\r\n\r\n case \"add\":\r\n this.makeForm();\r\n this.getAutoloadData();\r\n break;\r\n\r\n default:\r\n this.router.navigate([this.listUrl]);\r\n break;\r\n }\r\n\r\n this.titleService.setTitle(this.pageTitle);\r\n }\r\n\r\n getAutoloadData() {\r\n this.isLoadingService.add();\r\n this.vehicle.getVehicleType().subscribe(\r\n (response) => {\r\n if (response[\"status\"] === true) {\r\n this.vehicleType = response[\"data\"] as VehicleType[];\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n this.vehicleType = [];\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n\r\n this.vehicle.getVehicleMake().subscribe(\r\n (response) => {\r\n if (response[\"status\"] === true) {\r\n this.vehicleMake = response[\"data\"] as VehicleMake[];\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n this.vehicleMake = [];\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n makeForm() {\r\n const emailregex: RegExp =\r\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n this.actionForm = this.fb.group({\r\n vehicleId: [0],\r\n vehicleTypeId: [null, Validators.required],\r\n vehicleMakeId: [null, Validators.required],\r\n vehicleModelId: [null, Validators.required],\r\n year: [null, Validators.required],\r\n vehicleNumber: [\"\", Validators.required],\r\n vehicleColor: [\"\"],\r\n });\r\n }\r\n\r\n setFormValue(formData: Vehicle) {\r\n this.getVehicleModel(formData.makeId);\r\n\r\n const myFromData = {\r\n vehicleId: formData.vehicleId,\r\n vehicleTypeId: formData.vehicleTypeId,\r\n vehicleMakeId: formData.makeId,\r\n vehicleModelId: formData.modelId,\r\n year: formData.year,\r\n vehicleNumber: formData.vehicleNumber,\r\n vehicleColor: formData.vehicleColor,\r\n };\r\n\r\n this.actionForm.patchValue(myFromData);\r\n }\r\n\r\n getVehicleModel($event) {\r\n this.isLoadingService.add();\r\n this.vehicle.getVehicleModel($event).subscribe(\r\n (response) => {\r\n if (response[\"status\"] === true) {\r\n this.vehicleModel = response[\"data\"] as vehicleModel[];\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n this.vehicleModel = [];\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.actionForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n\r\n this.vehicle\r\n .manageVehicle(this.actionForm.value)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.router.navigate([`${this.listUrl}`]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n}\r\n","import { DatePipe } from \"@angular/common\";\r\nimport {\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n TemplateRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { VehicleService } from \"common/services/store/vehicle.service\";\r\n\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport {\r\n BsModalRef,\r\n BsModalService,\r\n ModalDirective,\r\n} from \"ngx-bootstrap/modal\";\r\nimport { Subscription, combineLatest } from \"rxjs\";\r\nimport {\r\n RequiredDocResponse,\r\n UploadedDocResponse,\r\n} from \"../../settings/documents/documents.component\";\r\n\r\n@Component({\r\n selector: \"app-document\",\r\n templateUrl: \"./document.component.html\",\r\n styleUrls: [\"./document.component.css\"],\r\n})\r\nexport class DocumentComponent implements OnInit {\r\n config = constEnv;\r\n\r\n vehicleId: number;\r\n\r\n @ViewChild(\"autoShownModal\", { static: false })\r\n autoShownModal: ModalDirective;\r\n isModalShown = false;\r\n\r\n docForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n\r\n fileData: File = null;\r\n previewUrl: any = null;\r\n fileUploadProgress: string = null;\r\n uploadedFilePath: string = null;\r\n fileUplaodName: string = null;\r\n dateFormat = \"dd-MMM-yyyy\";\r\n\r\n documentLists = [];\r\n\r\n modalRef: BsModalRef;\r\n subscriptions: Subscription[] = [];\r\n\r\n selectedDocMgmtId = 0;\r\n selExpDateReq = true;\r\n\r\n listUrl = `${this.config.STORE_URL}/vehicle`;\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private isLoadingService: IsLoadingService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alert: AlertService,\r\n private modalService: BsModalService,\r\n private changeDetection: ChangeDetectorRef,\r\n private fb: FormBuilder,\r\n private datePipe: DatePipe,\r\n private vehicle: VehicleService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"VehicleDocuments\");\r\n\r\n const id = this.route.snapshot.params.id;\r\n this.vehicleId = typeof id !== \"undefined\" ? id : 0;\r\n if (this.vehicleId <= 0) {\r\n this.router.navigate([this.listUrl]);\r\n }\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.createDocumentForm();\r\n this.getRequiredDoument();\r\n }\r\n\r\n createDocumentForm() {\r\n this.docForm = this.fb.group({\r\n fileUpload: [\"\", Validators.required],\r\n expiryDate: [\"\"],\r\n docMgmtId: [\"\"],\r\n docId: [0],\r\n driverId: [0],\r\n });\r\n }\r\n\r\n get f() {\r\n return this.docForm.controls;\r\n }\r\n\r\n showModal(template: TemplateRef, docMgmtId, docId, isexpDateReq): void {\r\n const _combine = combineLatest(\r\n this.modalService.onShow,\r\n this.modalService.onShown,\r\n this.modalService.onHide,\r\n this.modalService.onHidden\r\n ).subscribe(() => this.changeDetection.markForCheck());\r\n\r\n this.subscriptions.push(\r\n this.modalService.onShow.subscribe((reason: string) => {\r\n this.selectedDocMgmtId = docMgmtId;\r\n this.docForm.get(\"docMgmtId\").setValue(docMgmtId);\r\n this.docForm.get(\"docId\").setValue(docId);\r\n this.selExpDateReq = isexpDateReq;\r\n if (isexpDateReq === true) {\r\n this.docForm.get(\"expiryDate\").setValidators([Validators.required]);\r\n }\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.modalService.onHidden.subscribe((reason: string) => {\r\n this.selectedDocMgmtId = 0;\r\n this.submitted = false;\r\n this.docForm.get(\"fileUpload\").setValue(\"\");\r\n this.docForm.get(\"docMgmtId\").setValue(\"\");\r\n this.docForm.get(\"docId\").setValue(0);\r\n this.docForm.get(\"expiryDate\").setValue(\"\");\r\n this.docForm.get(\"expiryDate\").setValidators([]);\r\n this.selExpDateReq = true;\r\n this.fileUplaodName = null;\r\n this.previewUrl = \"\";\r\n this.unsubscribe();\r\n })\r\n );\r\n\r\n this.subscriptions.push(_combine);\r\n\r\n this.modalRef = this.modalService.show(template, { class: \"modal-sm\" });\r\n }\r\n\r\n unsubscribe() {\r\n this.subscriptions.forEach((subscription: Subscription) => {\r\n subscription.unsubscribe();\r\n });\r\n this.subscriptions = [];\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n onHidden(): void {\r\n this.isModalShown = false;\r\n this.previewUrl = null;\r\n this.fileUplaodName = null;\r\n // this.selectedDoc = null;\r\n this.docForm.get(\"expiryDate\").setValidators(null);\r\n this.docForm.reset();\r\n }\r\n\r\n getRequiredDoument() {\r\n this.isLoadingService.add();\r\n this.documentLists = [];\r\n this.vehicle.getRequiredDocuments().subscribe(\r\n (data) => {\r\n const res = data as RequiredDocResponse;\r\n if (res.status === true) {\r\n if (res.data !== null) {\r\n res.data.forEach((doc) => {\r\n if (doc.docMgmtId > 0) {\r\n this.vehicle\r\n .getUploadedDouments(doc.docMgmtId, this.vehicleId)\r\n .subscribe(\r\n (response) => {\r\n const resp = response as UploadedDocResponse;\r\n if (resp.status === true) {\r\n const resData =\r\n typeof resp.data !== \"undefined\" ? resp.data : null;\r\n this.documentLists.push({\r\n DocMgmtId: doc.docMgmtId,\r\n DocumentName: doc.documentName,\r\n IsExpiryDateRequired: doc.isExpiryDateRequired,\r\n docId:\r\n typeof resData.id !== \"undefined\" ? resData.id : 0,\r\n DocExpiryDate:\r\n typeof resData.docExpiryDate !== \"undefined\"\r\n ? resData.docExpiryDate\r\n : null,\r\n DocUrl:\r\n typeof resData.docUrl !== \"undefined\"\r\n ? resData.docUrl\r\n : null,\r\n IsVerify:\r\n typeof resData.isVerify !== \"undefined\"\r\n ? resData.isVerify\r\n : 0,\r\n isDocUrl:\r\n typeof resData.docUrl !== \"undefined\"\r\n ? true\r\n : false,\r\n btnLabel: \"UpdateDocument\",\r\n });\r\n } else {\r\n this.documentLists.push({\r\n DocMgmtId: doc.docMgmtId,\r\n DocumentName: doc.documentName,\r\n IsExpiryDateRequired: doc.isExpiryDateRequired,\r\n docId: 0,\r\n DocExpiryDate: null,\r\n DocUrl: null,\r\n isDocUrl: false,\r\n IsVerify: true,\r\n btnLabel: \"Upload\",\r\n });\r\n }\r\n\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n this.documentLists.push({\r\n DocMgmtId: doc.docMgmtId,\r\n DocumentName: doc.documentName,\r\n IsExpiryDateRequired: doc.isExpiryDateRequired,\r\n docId: 0,\r\n DocExpiryDate: null,\r\n DocUrl: null,\r\n isDocUrl: false,\r\n IsVerify: true,\r\n btnLabel: \"Upload\",\r\n });\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error.Message !== \"undefined\") {\r\n this.alert.danger(err.error.Message);\r\n } else if (typeof err.error !== \"undefined\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n fileProgress(fileInput: any) {\r\n this.fileData = fileInput.target.files[0] as File;\r\n this.preview();\r\n }\r\n\r\n preview() {\r\n // Show preview\r\n const mimeType = this.fileData.type;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(this.fileData);\r\n reader.onload = (_event) => {\r\n this.previewUrl = reader.result;\r\n this.fileUplaodName = this.fileData.name;\r\n };\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.docForm.invalid) {\r\n return;\r\n }\r\n\r\n // const docId = (this.uploadForm.value.docId > 0) ? this.uploadForm.value.docId : 0;\r\n // const action = (docId > 0) ? 'edit' : 'add';\r\n\r\n const expiredDate = this.datePipe.transform(\r\n this.docForm.value.expiryDate,\r\n this.dateFormat\r\n );\r\n\r\n const formData = new FormData();\r\n formData.append(\"VehicleId\", this.vehicleId.toString());\r\n formData.append(\"DocumentTypeId\", this.docForm.value.docMgmtId);\r\n formData.append(\"DocumentExpiryDate\", expiredDate);\r\n formData.append(\"Document\", this.fileData);\r\n\r\n this.isLoadingService.add();\r\n this.vehicle.uploadDocument(formData).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n // this.ls.hideLoader();\r\n this.modalRef.hide();\r\n this.getRequiredDoument();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error.Message !== \"undefined\") {\r\n this.alert.danger(err.error.Message);\r\n } else if (typeof err.error !== \"undefined\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { first, filter } from \"rxjs/operators\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { VehicleService } from \"common/services/store/vehicle.service\";\r\nimport { Vehicle } from \"common/_models/store/vehicle.model\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { ConfirmDialogComponent } from \"common/_components/confirm-dialog/confirm-dialog.component\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Paging } from \"src/app/e-commerce/category/category.component\";\r\n\r\n@Component({\r\n selector: \"app-list\",\r\n templateUrl: \"./list.component.html\",\r\n styleUrls: [\"./list.component.css\"],\r\n})\r\nexport class ListComponent implements OnInit {\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n hasOrders = false;\r\n lists: Vehicle[] = [];\r\n\r\n driverLists: DriverList[] = [];\r\n\r\n assignDriverFrom: FormGroup;\r\n loading = false;\r\n\r\n @ViewChild(\"autoShownModal\", { static: false })\r\n autoShownModal: ModalDirective;\r\n isModalShown = false;\r\n\r\n config = constEnv;\r\n\r\n vehicleBaseUrl = `${this.config.STORE_URL}/vehicle`;\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private dialog: MatDialog,\r\n private isLoadingService: IsLoadingService,\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private vehicle: VehicleService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"DRIVER_Vehicles\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.createDataTable();\r\n }\r\n\r\n openPage(type, vehicleId) {\r\n const url = `${this.vehicleBaseUrl}/${type}/${vehicleId}`;\r\n this.router.navigate([url]);\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: -1,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.hasOrders = true;\r\n\r\n let paging: Paging = null;\r\n\r\n this.vehicle\r\n .getAll(dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n const res = data as VehicleListResponse;\r\n\r\n if (res.status === true) {\r\n this.lists = res.data.map((item) =>\r\n new Vehicle().deserialize(item)\r\n );\r\n\r\n paging = JSON.parse(res.paging) as Paging;\r\n } else {\r\n paging = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n } as Paging;\r\n\r\n this.alert.danger(data[\"message\"]);\r\n this.lists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n\r\n // this.alert.danger(msg);\r\n this.isLoadingService.remove();\r\n\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n }\r\n );\r\n },\r\n };\r\n }\r\n\r\n changeStatus(vehicleId, status) {\r\n this.isLoadingService.add();\r\n this.vehicle\r\n .vehicleChangeStatus(vehicleId, status === true ? 1 : 0)\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.datatableElement.dtInstance.then(\r\n // (dtInstance: DataTables.Api) => dtInstance.draw()\r\n (dtInstance) => dtInstance.draw()\r\n );\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n\r\n this.alert.danger(msg);\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n removeVehicle(vehicleId) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm\",\r\n message: \"DeleteConfirm\",\r\n },\r\n });\r\n\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n this.isLoadingService.add();\r\n this.vehicle.deleteVehicle(vehicleId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.datatableElement.dtInstance.then(\r\n // (dtInstance: DataTables.Api) => dtInstance.draw()\r\n (dtInstance) => dtInstance.draw()\r\n );\r\n this.isLoadingService.remove();\r\n // this.loadProductLists();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n removeDriverFromVehicle(vehicleId) {\r\n const confirmDialog = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n title: \"Confirm\",\r\n message: \"RetractVehicleConfr\",\r\n },\r\n });\r\n\r\n confirmDialog.afterClosed().subscribe((result) => {\r\n if (result === true) {\r\n this.isLoadingService.add();\r\n this.vehicle.retractVehicle(vehicleId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.datatableElement.dtInstance.then(\r\n // (dtInstance: DataTables.Api) => dtInstance.draw()\r\n (dtInstance) => dtInstance.draw()\r\n );\r\n this.isLoadingService.remove();\r\n // this.loadProductLists();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n showModal(vehicleId): void {\r\n this.assignDriverFrom = this.fb.group({\r\n vehicleId: [vehicleId],\r\n driverId: [null, Validators.required],\r\n });\r\n\r\n this.isLoadingService.add();\r\n this.vehicle.getDriverListForVehicle().subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.driverLists = data[\"data\"] as DriverList[];\r\n this.isModalShown = true;\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n onHidden(): void {\r\n this.isModalShown = false;\r\n }\r\n\r\n onSubmit() {\r\n if (this.assignDriverFrom.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n\r\n const vehicleId = this.assignDriverFrom.value.vehicleId;\r\n const driverId = this.assignDriverFrom.value.driverId;\r\n\r\n this.vehicle.assignDriver(vehicleId, driverId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.hideModal();\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) =>\r\n dtInstance.draw()\r\n );\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n\r\n this.alert.danger(msg);\r\n }\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface VehicleListResponse {\r\n status: boolean;\r\n message: string;\r\n data: Vehicle[];\r\n paging: string;\r\n}\r\n\r\ninterface DriverList {\r\n id: number;\r\n name: string;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\n\r\nimport { ListComponent } from './list/list.component';\r\nimport { ActionComponent } from './action/action.component';\r\nimport { DocumentComponent } from './document/document.component';\r\n\r\nconst ORDER_ENDPOINT = `${constEnv.storeEndPoint}/vehicle`;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${ORDER_ENDPOINT}`,\r\n children: [ \r\n { \r\n path: 'document',\r\n children: [\r\n { path: ':id', component: DocumentComponent },\r\n { path: '', redirectTo: `/${ORDER_ENDPOINT}`, pathMatch: 'full' }\r\n ]\r\n },\r\n {\r\n path: ':action',\r\n children: [\r\n { path: ':id', component: ActionComponent, data: {for: 'edit'} },\r\n { path: '', component: ActionComponent, data: {for: 'add'} }\r\n ]\r\n },\r\n { path: '', component: ListComponent }\r\n ],\r\n canActivate: [AuthGuard]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class StoreVehicleRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { RouterModule } from '@angular/router';\r\nimport { MaterialModule } from 'common/modules/material.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\n\r\nimport { ComponentModule } from 'common/_components/components.module';\r\nimport { TemplateDefaultModule } from '../../shared/template-default/template-default.module';\r\nimport { DataTablesModule } from 'angular-datatables';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\nimport { StoreVehicleRoutingModule } from './store-vehicle-routing.module';\r\nimport { ListComponent } from './list/list.component';\r\nimport { ActionComponent } from './action/action.component';\r\nimport { DocumentComponent } from './document/document.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [ListComponent, ActionComponent, DocumentComponent],\r\n imports: [\r\n CommonModule,\r\n StoreVehicleRoutingModule,\r\n RouterModule,\r\n TranslateModule.forRoot(),\r\n ModalModule.forRoot(),\r\n ReactiveFormsModule,\r\n FormsModule,\r\n ComponentModule,\r\n TemplateDefaultModule,\r\n DataTablesModule,\r\n MaterialModule,\r\n NgSelectModule\r\n ]\r\n})\r\nexport class StoreVehicleModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\nimport { constEnv } from 'common/constants.env';\r\nimport { WishlistComponent } from './wishlist/wishlist.component';\r\n\r\nconst STORE_ENDPOINT = `${constEnv.storeEndPoint}`;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${STORE_ENDPOINT}/wishlists`, component: WishlistComponent, canActivate: [AuthGuard]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class WishlistRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ComponentModule } from 'common/_components/components.module';\r\nimport { MaterialModule } from 'common/modules/material.module';\r\nimport { TemplateDefaultModule } from '../../shared/template-default/template-default.module';\r\nimport { DataTablesModule } from 'angular-datatables';\r\n\r\nimport { WishlistRoutingModule } from './wishlist-routing.module';\r\nimport { WishlistComponent } from './wishlist/wishlist.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [WishlistComponent],\r\n imports: [\r\n CommonModule,\r\n WishlistRoutingModule,\r\n TranslateModule,\r\n ReactiveFormsModule,\r\n ComponentModule,\r\n MaterialModule,\r\n DataTablesModule,\r\n TemplateDefaultModule\r\n ]\r\n})\r\nexport class WishlistModule { }\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormBuilder } from \"@angular/forms\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { WishlistService } from \"common/services/store/wishlist.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { Wishlist } from \"common/_models/store/wishlist\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { Paging } from \"../../products/list/list.component\";\r\nimport { Config } from \"datatables.net\";\r\n\r\n@Component({\r\n selector: \"app-wishlist\",\r\n templateUrl: \"./wishlist.component.html\",\r\n styleUrls: [\"./wishlist.component.css\"],\r\n})\r\nexport class WishlistComponent implements OnInit {\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n // dtOptionsCancelOrder: DataTables.Settings = {};\r\n dtOptionsCancelOrder: Config = {};\r\n\r\n lists: Wishlist[] = [];\r\n hasLists = false;\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private fb: FormBuilder,\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private wishlist: WishlistService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Wishlist\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.createDataTable();\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: 2,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n // const searchparams = this.searchForm.value;\r\n // if (searchparams.filterText !== '') {\r\n // dataTablesParameters.search.column = searchparams.filterBy;\r\n // dataTablesParameters.search.value = searchparams.filterText;\r\n // }\r\n\r\n // dataTablesParameters.search.dateTimeForm = '';\r\n // dataTablesParameters.search.dateTimeTo = '';\r\n // if (searchparams.orderFilterDates !== null) {\r\n // const oDates = searchparams.orderFilterDates;\r\n // dataTablesParameters.search.dateTimeForm = this.datePipe.transform( oDates[0], this.dateFormat );\r\n // dataTablesParameters.search.dateTimeTo = this.datePipe.transform( oDates[1], this.dateFormat );\r\n // }\r\n this.wishlist\r\n .getWishlist(dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (resp) => {\r\n const data = resp as WishlistResponse;\r\n let paging = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n } as Paging;\r\n if (data.status === true) {\r\n this.lists = data.data.map((item) =>\r\n new Wishlist().deserialize(item)\r\n );\r\n paging = JSON.parse(data.paging) as Paging;\r\n this.hasLists = true;\r\n } else {\r\n this.lists = [];\r\n this.hasLists = false;\r\n this.alert.danger(data.message);\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n\r\n // this.loader.hideLoader();\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n // this.alert.danger(msg);\r\n this.lists = [];\r\n }\r\n\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n // this.loader.hideLoader();\r\n }\r\n );\r\n },\r\n };\r\n }\r\n}\r\n\r\ninterface WishlistResponse {\r\n status: boolean;\r\n message: string;\r\n data: Wishlist[];\r\n paging: string;\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\n@Component({\r\n selector: \"app-footer\",\r\n templateUrl: \"./footer.component.html\",\r\n styleUrls: [\"./footer.component.css\"],\r\n})\r\nexport class FooterComponent implements OnInit {\r\n currentYear = new Date().getFullYear();\r\n siteTitle = constEnv.projectTitle;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\n\r\n@Component({\r\n selector: \"app-header\",\r\n templateUrl: \"./header.component.html\",\r\n styleUrls: [\"./header.component.css\"],\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n logoUrl;\r\n siteTitle;\r\n\r\n config = constEnv;\r\n\r\n constructor(\r\n private gs: GeneralService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private langService: LanguageService,\r\n private isLoadingService: IsLoadingService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.logoUrl = this.gs.getSiteLogo(true);\r\n this.siteTitle = this.config.projectTitle;\r\n }\r\n\r\n logout() {\r\n this.isLoadingService.add();\r\n // this.langService.changeLanguage(this.langService.defaultLanguage);\r\n this.authenticationService.logout();\r\n const loginURL = `${this.config.STORE_URL}/login`;\r\n\r\n const settingLang = this.gs.getSettings(\"default_language\");\r\n\r\n const changeLangCode =\r\n settingLang !== \"\" ? settingLang : this.langService.defaultLanguage;\r\n\r\n this.langService.getAvailableLanguages().map((lang) => {\r\n if (changeLangCode === lang.lang_code) {\r\n this.langService._setLanguage(lang.lang_code);\r\n localStorage.setItem(\"defaultLang\", JSON.stringify(lang));\r\n }\r\n });\r\n\r\n this.langService\r\n .getLanguageTranslation(this.langService.getCurrentLanguage())\r\n .subscribe((translationsJSON) => {\r\n this.langService.setLanguageTranslation(translationsJSON);\r\n window.location.href = loginURL;\r\n });\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n ElementRef,\r\n ViewEncapsulation,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { NavService } from \"common/services/nav.service\";\r\nimport { NavItem } from \"common/_models/nav-item\";\r\n\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { BsModalRef, ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { StoreUserService } from \"common/services/store/storeUser.service\";\r\nimport { first } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"app-sidebar\",\r\n templateUrl: \"./sidebar.component.html\",\r\n styleUrls: [\"./sidebar.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class SidebarComponent implements OnInit, AfterViewInit {\r\n prifilePic = `${constEnv.IMAGE_PATH}/assets/profile-photo.png`;\r\n\r\n config = constEnv;\r\n\r\n currentUserProfile;\r\n\r\n @ViewChild(\"appDrawer\", { static: false }) appDrawer: ElementRef;\r\n\r\n navItems: NavItem[] = [\r\n {\r\n displayName: \"Dashboard\",\r\n iconName: \"home\",\r\n route: `${this.config.STORE_URL}/dashboard`,\r\n },\r\n {\r\n displayName: \"STORE_Products\",\r\n iconName: \"library_books\",\r\n route: `${this.config.STORE_URL}/product/lists`,\r\n children: [\r\n {\r\n displayName: \"Lists\",\r\n iconName: \"dns\",\r\n route: `${this.config.STORE_URL}/product/lists`,\r\n },\r\n // { displayName: 'SubCategory', iconName: 'category', route: `${this.config.STORE_URL}/product/sub-category` }\r\n {\r\n displayName: \"Specification\",\r\n iconName: \"category\",\r\n route: `${this.config.STORE_URL}/product/specification`,\r\n },\r\n {\r\n displayName: \"Last Minute Deals\",\r\n iconName: \"local_offer\",\r\n route: `${this.config.STORE_URL}/product/last-minute-deal`,\r\n },\r\n ],\r\n },\r\n {\r\n displayName: \"Orders\",\r\n iconName: \"local_mall\",\r\n route: `${this.config.STORE_URL}/order/lists`,\r\n },\r\n {\r\n displayName: \"Drivers\",\r\n iconName: \"person\",\r\n route: `${this.config.STORE_URL}/driver/lists`,\r\n },\r\n {\r\n displayName: \"DRIVER_Vehicles\",\r\n iconName: \"delivery_dining\",\r\n route: `${this.config.STORE_URL}/vehicle`,\r\n },\r\n {\r\n displayName: \"Preferred Delivery Company\",\r\n iconName: \"local_shipping\",\r\n route: `${this.config.STORE_URL}/prefrred-delivery-company`,\r\n },\r\n {\r\n displayName: \"Zone\",\r\n iconName: \"fence\",\r\n route: `${this.config.STORE_URL}/delivery-zone`,\r\n },\r\n {\r\n displayName: \"ShippingRate\",\r\n iconName: \"corporate_fare\",\r\n route: `${this.config.STORE_URL}/shipping-rate`,\r\n },\r\n // { displayName: 'GodsView', iconName: 'person_pin', route: `${this.config.STORE_URL}/aerial-view` },\r\n {\r\n displayName: \"STORE_Earnings\",\r\n iconName: \"account_balance_wallet\",\r\n route: `${this.config.STORE_URL}/earnings`,\r\n },\r\n {\r\n displayName: \"Potential List\",\r\n iconName: \"favorite\",\r\n route: `${this.config.STORE_URL}/potential-list`,\r\n },\r\n // { displayName: 'Wishlist', iconName: 'favorite', route: `${this.config.STORE_URL}/wishlists` },\r\n {\r\n displayName: \"PromoCode\",\r\n iconName: \"local_offer\",\r\n route: `${this.config.STORE_URL}/promo-code`,\r\n },\r\n // { displayName: 'Jobs', iconName: 'dashboard', route: '' },\r\n // { displayName: 'Designer\\'s Jobs', iconName: 'color_lens', route: '' },\r\n // { displayName: 'Offers', iconName: 'card_giftcard', route: `${this.config.STORE_URL}/offers` },\r\n {\r\n displayName: \"Return/Replace Requests\",\r\n iconName: \"assignment_return\",\r\n route: `${this.config.STORE_URL}/return-request`,\r\n },\r\n {\r\n displayName: \"Cancel Requests\",\r\n iconName: \"cancel_presentation\",\r\n route: `${this.config.STORE_URL}/cancel-request`,\r\n },\r\n // { displayName: 'Messages', iconName: 'markunread', route: '' },\r\n {\r\n displayName: \"STORE_Feedbacks\",\r\n iconName: \"grade\",\r\n route: `${this.config.STORE_URL}/feedback`,\r\n },\r\n {\r\n displayName: \"STORE_Notifications\",\r\n iconName: \"notifications\",\r\n route: `${this.config.STORE_URL}/notifications`,\r\n },\r\n // { displayName: 'Reports', iconName: 'description', route: '' },\r\n {\r\n displayName: \"STORE_Settings\",\r\n iconName: \"settings\",\r\n route: `${this.config.STORE_URL}/settings/store`,\r\n },\r\n ];\r\n\r\n modalRef: BsModalRef;\r\n\r\n @ViewChild(\"openPhotoModal\", { static: false })\r\n openPhotoModal: ModalDirective;\r\n showOpenPhotoModal: boolean = false;\r\n\r\n changeProfilePicFrm: FormGroup;\r\n @ViewChild(\"fileInput\", { static: true }) fileInput: ElementRef;\r\n\r\n fileData: File = null;\r\n previewUrl: any = null;\r\n fileUploadProgress: string = null;\r\n uploadedFilePath: string = null;\r\n\r\n constructor(\r\n private navService: NavService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private langService: LanguageService,\r\n private isLoadingService: IsLoadingService,\r\n private gs: GeneralService,\r\n private alertService: AlertService,\r\n private fb: FormBuilder,\r\n private storeUserService: StoreUserService\r\n ) {\r\n this.changeProfilePicFrm = this.fb.group({\r\n profilePhoto: null,\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.currentUserProfile =\r\n this.authenticationService.currentUserProfileValue;\r\n\r\n const defaultSetting = this.gs.getDefaultSettings();\r\n const deliveryHandledId =\r\n typeof defaultSetting[\"DeliveryHandleId\"] !== \"undefined\"\r\n ? defaultSetting[\"DeliveryHandleId\"]\r\n : 0;\r\n\r\n if (parseInt(deliveryHandledId) === 0) {\r\n this.navItems = this.navItems.filter(\r\n (el) => el.displayName !== \"Zone\" && el.displayName !== \"ShippingRate\"\r\n );\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.navService.appDrawer = this.appDrawer;\r\n }\r\n\r\n logout() {\r\n this.isLoadingService.add();\r\n // this.langService.changeLanguage(this.langService.defaultLanguage);\r\n this.authenticationService.logout();\r\n const loginURL = `${this.config.STORE_URL}/login`;\r\n\r\n const settingLang = this.gs.getSettings(\"default_language\");\r\n\r\n const changeLangCode =\r\n settingLang !== \"\" ? settingLang : this.langService.defaultLanguage;\r\n\r\n this.langService.getAvailableLanguages().map((lang) => {\r\n if (changeLangCode === lang.lang_code) {\r\n this.langService._setLanguage(lang.lang_code);\r\n localStorage.setItem(\"defaultLang\", JSON.stringify(lang));\r\n }\r\n });\r\n\r\n this.langService\r\n .getLanguageTranslation(this.langService.getCurrentLanguage())\r\n .subscribe((translationsJSON) => {\r\n this.langService.setLanguageTranslation(translationsJSON);\r\n window.location.href = loginURL;\r\n });\r\n }\r\n\r\n openModal() {\r\n this.showOpenPhotoModal = true;\r\n }\r\n\r\n onHidden() {\r\n this.showOpenPhotoModal = false;\r\n this.changeProfilePicFrm.reset();\r\n this.fileData = null;\r\n this.previewUrl = null;\r\n this.fileUploadProgress = null;\r\n }\r\n\r\n fileProgress(fileInput: any) {\r\n this.fileData = fileInput.target.files[0] as File;\r\n const allowedImageTypes = [\"image/jpeg\", \"image/jpg\", \"image/png\"];\r\n if (allowedImageTypes.includes(this.fileData.type)) {\r\n this.preview();\r\n } else {\r\n this.alertService.danger(\"Please upload only JPG, JPEG, or PNG image.\");\r\n fileInput.target.value = null;\r\n this.fileData = null;\r\n this.previewUrl = null;\r\n this.changeProfilePicFrm.get(\"profilePhoto\").setValue(null);\r\n }\r\n }\r\n\r\n preview() {\r\n // Show preview\r\n const mimeType = this.fileData.type;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(this.fileData);\r\n reader.onload = (_event) => {\r\n this.previewUrl = reader.result;\r\n this.changeProfilePicFrm.get(\"profilePhoto\").setValue({\r\n filename: this.fileData.name,\r\n filetype: this.fileData.type,\r\n value: this.previewUrl.split(\",\")[1],\r\n });\r\n };\r\n }\r\n\r\n onSubmit() {\r\n this.isLoadingService.add();\r\n const formData = new FormData();\r\n formData.append(\"postedfile\", this.fileData);\r\n this.storeUserService\r\n .changeProfilePhoto(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alertService.success(data[\"message\"]);\r\n this.showOpenPhotoModal = false;\r\n location.reload();\r\n } else {\r\n this.alertService.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alertService.danger(msg);\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { HeaderComponent } from \"./header/header.component\";\r\nimport { FooterComponent } from \"./footer/footer.component\";\r\nimport { SidebarComponent } from \"./sidebar/sidebar.component\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\n\r\n@NgModule({\r\n declarations: [HeaderComponent, FooterComponent, SidebarComponent],\r\n imports: [\r\n CommonModule,\r\n TranslateModule.forRoot(),\r\n MaterialModule,\r\n RouterModule,\r\n ComponentModule,\r\n ModalModule.forRoot(),\r\n FormsModule,\r\n BrowserAnimationsModule,\r\n ReactiveFormsModule,\r\n ],\r\n exports: [HeaderComponent, FooterComponent, SidebarComponent],\r\n})\r\nexport class TemplateDefaultModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\nconst baseUrl = constEnv;\r\n\r\nconst routes: Routes = [\r\n // { path: '', redirectTo: `login`, pathMatch: 'full' }\r\n { path: \"\", redirectTo: `home`, pathMatch: \"full\" },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, { scrollPositionRestoration: \"enabled\" }),\r\n ],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","import {\r\n Component,\r\n Renderer2,\r\n Inject,\r\n OnInit,\r\n HostListener,\r\n ElementRef,\r\n ViewChild,\r\n AfterViewInit,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { first, filter } from \"rxjs/operators\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport {\r\n Router,\r\n NavigationStart,\r\n NavigationEnd,\r\n NavigationError,\r\n NavigationCancel,\r\n} from \"@angular/router\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\n\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\nimport { FixedElementService } from \"common/services/fixed-element.service\";\r\n\r\n@Component({\r\n selector: \"app-root\",\r\n templateUrl: \"./app.component.html\",\r\n styleUrls: [\"./app.component.css\"],\r\n})\r\nexport class AppComponent implements OnInit, AfterViewInit, OnDestroy {\r\n title = \"\";\r\n isLoading: Observable;\r\n\r\n config = constEnv;\r\n\r\n languages;\r\n _constatnt;\r\n\r\n @ViewChild(\"fixedElement\") fixedElement!: ElementRef;\r\n\r\n constructor(\r\n private isLoadingService: IsLoadingService,\r\n private router: Router,\r\n public translate: TranslateService,\r\n public renderer: Renderer2,\r\n @Inject(DOCUMENT) private document: Document,\r\n private languageService: LanguageService,\r\n private loaderService: LoaderService,\r\n private gs: GeneralService,\r\n private titleService: TitleService,\r\n private authenticationService: AuthenticationService,\r\n private fixedElementService: FixedElementService\r\n ) {\r\n this.checkUserRights();\r\n this.titleService.setTitle();\r\n this.languages = this.languageService.languages;\r\n translate.addLangs(this.languages);\r\n if (this.languageService.getCurrentLanguage()) {\r\n const browserLang = this.languageService.getCurrentLanguage();\r\n translate.use(\r\n browserLang.match(this.languages.join(\"|\"))\r\n ? browserLang\r\n : this._constatnt.defaultLang\r\n );\r\n // translate.use(browserLang);\r\n } else {\r\n this.languageService._setLanguage(this._constatnt.defaultLang);\r\n translate.setDefaultLang(this._constatnt.defaultLang);\r\n }\r\n\r\n this.gs.getDefaultSettingsValue();\r\n translate.setTranslation(\r\n this.languageService.getCurrentLanguage(),\r\n this.languageService.getLanguageTranslations()\r\n );\r\n\r\n this.setLanguageDir();\r\n }\r\n\r\n ngOnInit() {\r\n this._constatnt = constEnv;\r\n this.isLoading = this.isLoadingService.isLoading$();\r\n\r\n this.router.events\r\n .pipe(\r\n filter(\r\n (event) =>\r\n event instanceof NavigationStart ||\r\n event instanceof NavigationEnd ||\r\n event instanceof NavigationCancel ||\r\n event instanceof NavigationError\r\n )\r\n )\r\n .subscribe((event) => {\r\n // If it's the start of navigation, `add()` a loading indicator\r\n if (event instanceof NavigationStart) {\r\n this.isLoadingService.add();\r\n this.loadFronStyles(event.url);\r\n return;\r\n }\r\n\r\n // Else navigation has ended, so `remove()` a loading indicator\r\n this.isLoadingService.remove();\r\n window.scrollTo(0, 0);\r\n });\r\n\r\n window.scrollTo(0, 0);\r\n\r\n const currentLanguage = this.languageService.getDefaultLanguage();\r\n const langStyle =\r\n currentLanguage !== null ? currentLanguage.lang_style : \"ltl\";\r\n\r\n localStorage.setItem(\"base_url\", this._constatnt.apiURL);\r\n if (langStyle === \"rtl\") {\r\n this.loadStyle(\"./assets/css/rtl.css\", \"rtl-style\");\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.updateHeight();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.fixedElementService.setHeight(0); // Reset height when component is destroyed\r\n }\r\n\r\n // Listen to window resize\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n onResize(): void {\r\n this.updateHeight(); // Update height dynamically\r\n }\r\n\r\n private updateHeight(): void {\r\n if (this.fixedElement) {\r\n const height = this.fixedElement.nativeElement.offsetHeight;\r\n this.fixedElementService.setHeight(height); // Update height in the service\r\n }\r\n }\r\n\r\n changeLang(language: string) {\r\n this.languageService._setLanguage(language);\r\n\r\n this.setLanguageDir();\r\n }\r\n\r\n setLanguageDir() {\r\n const currentLanguage = this.languageService.getDefaultLanguage();\r\n\r\n const langStyle =\r\n currentLanguage !== null ? currentLanguage.lang_style : \"ltl\";\r\n\r\n this.renderer.setAttribute(\r\n document.querySelector(\"html\"),\r\n \"lang\",\r\n this.translate.currentLang\r\n );\r\n this.renderer.setAttribute(\r\n document.querySelector(\"html\"),\r\n \"dir\",\r\n langStyle === \"rtl\" ? \"rtl\" : \"ltl\"\r\n );\r\n }\r\n\r\n loadStyle(styleName: string, styleId: string) {\r\n const head = this.document.getElementsByTagName(\"head\")[0];\r\n\r\n const themeLink = this.document.getElementById(styleId) as HTMLLinkElement;\r\n if (themeLink) {\r\n themeLink.href = styleName;\r\n } else {\r\n const style = this.document.createElement(\"link\");\r\n style.id = styleId;\r\n style.rel = \"stylesheet\";\r\n style.href = `${styleName}`;\r\n\r\n head.appendChild(style);\r\n }\r\n }\r\n\r\n removeStyle(styleId: string) {\r\n const themeLink = this.document.getElementById(styleId) as HTMLLinkElement;\r\n\r\n if (typeof themeLink !== \"undefined\" && themeLink !== null) {\r\n themeLink.remove();\r\n }\r\n }\r\n\r\n loadFronStyles(url: string) {\r\n const urlSegment = url.split(\"?\");\r\n let finalUrl = url;\r\n if (typeof urlSegment[0] !== \"undefined\") {\r\n finalUrl = urlSegment[0];\r\n }\r\n\r\n let isStoreUrl = false;\r\n if (finalUrl.indexOf(this._constatnt.storeEndPoint) > -1) {\r\n isStoreUrl = true;\r\n }\r\n\r\n let isDriverUrl = false;\r\n if (finalUrl.indexOf(this._constatnt.driverEndPoint) > -1) {\r\n isDriverUrl = true;\r\n }\r\n\r\n let isCustomerUrl = false;\r\n if (finalUrl.indexOf(this._constatnt.customerEndPoint) > -1) {\r\n isCustomerUrl = true;\r\n }\r\n\r\n let isDCUrl = false;\r\n if (finalUrl.indexOf(this._constatnt.deliveryCompanyEndPoint) > -1) {\r\n isDCUrl = true;\r\n }\r\n\r\n let isDesignerUrl = false;\r\n if (finalUrl.split(\"/\").indexOf(this._constatnt.designerEndPoint) > -1) {\r\n isDesignerUrl = true;\r\n }\r\n\r\n let isLoginUrl = false;\r\n if (\r\n finalUrl.indexOf(\"login\") > -1 ||\r\n finalUrl.indexOf(\"forgot-password\") > -1 ||\r\n finalUrl.indexOf(\"register\") > -1 ||\r\n finalUrl.indexOf(\"reset-password\") > -1 ||\r\n finalUrl.indexOf(\"email-verify\") > -1\r\n ) {\r\n isLoginUrl = true;\r\n }\r\n\r\n if (\r\n !isStoreUrl &&\r\n !isDriverUrl &&\r\n !isCustomerUrl &&\r\n !isDCUrl &&\r\n !isDesignerUrl &&\r\n !isLoginUrl\r\n ) {\r\n // this.loadStyle('assets/css/line-awesome.min.css', 'la-icons');\r\n this.loadStyle(\"./assets/css/site-theme.css\", \"site-theme\");\r\n } else {\r\n // this.removeStyle('la-icons');\r\n this.removeStyle(\"site-theme\");\r\n }\r\n }\r\n\r\n checkUserRights() {\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser) {\r\n // authorised so return true\r\n const currentUserDetail = currentUser.userdetails;\r\n // console.log(currentUserDetail);\r\n const userType = currentUserDetail.userType;\r\n\r\n const stateUrl = window.location.href;\r\n let redirectUrl = \"\";\r\n if (stateUrl.indexOf(userType) === -1) {\r\n switch (userType) {\r\n case \"driver\":\r\n redirectUrl = this.config.DRIVER_URL + \"/dashboard\";\r\n break;\r\n case \"store\":\r\n redirectUrl = this.config.STORE_URL + \"/dashboard\";\r\n break;\r\n case \"designer\":\r\n window.location.href =\r\n this.config.deliveryCompanyActionUrl + \"/DesignerProfile/View\";\r\n // redirectUrl = this.config.deliveryCompanyActionUrl;\r\n break;\r\n default:\r\n // redirectUrl = this.config.BASE_URL;\r\n break;\r\n }\r\n\r\n if (redirectUrl) this.router.navigate([`/${redirectUrl}`]);\r\n }\r\n }\r\n }\r\n\r\n public checkIfUserCustomer() {\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (!currentUser) {\r\n return true;\r\n }\r\n const currentUserDetail = currentUser.userdetails;\r\n const userType = currentUserDetail?.userType;\r\n\r\n return userType === \"customer\";\r\n }\r\n}\r\n","import { BrowserModule } from \"@angular/platform-browser\";\r\nimport { NgModule } from \"@angular/core\";\r\n\r\nimport {\r\n HttpClientModule,\r\n HttpClient,\r\n HTTP_INTERCEPTORS,\r\n} from \"@angular/common/http\";\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\nimport { AppComponent } from \"./app.component\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { StoreSharedModule } from \"projects/store/src/app/app.module\";\r\nimport { DriverSharedModule } from \"projects/driver/src/app/app.module\";\r\nimport { AuthPagesModule } from \"./auth-pages/auth-pages.module\";\r\nimport { DeliveryCompanyModule } from \"./delivery-company/delivery-company.module\";\r\nimport { DesignerModule } from \"./designer/designer.module\";\r\n\r\nimport { CustomerModule } from \"./pages/customer/customer.module\";\r\nimport { ECommerceModule } from \"./e-commerce/e-commerce.module\";\r\n\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\n\r\nimport { AlertModule } from \"@full-fledged/alerts\";\r\nimport { MatProgressBarModule } from \"@angular/material/progress-bar\";\r\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { JwtInterceptor } from \"common/_helpers/jwt.interceptor\";\r\nimport { ErrorInterceptor } from \"common/_helpers/error.interceptor\";\r\nimport { ChatBotComponent } from \"./e-commerce/template/chat-bot/chat-bot.component\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { CarouselModule } from \"ngx-owl-carousel-o\";\r\nimport { SharedComponentsModule } from \"./e-commerce/components/sharedComponents.module\";\r\n\r\nconst appProviders = [\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n];\r\n\r\n@NgModule({\r\n declarations: [AppComponent,ChatBotComponent],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n AuthPagesModule,\r\n StoreSharedModule.forRoot(),\r\n DriverSharedModule.forRoot(),\r\n AlertModule.forRoot({\r\n maxMessages: 1,\r\n timeout: 5000,\r\n positionX: \"right\",\r\n positionY: \"top\",\r\n }),\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatFormFieldModule,\r\n TranslateModule.forRoot(),\r\n HttpClientModule,\r\n DesignerModule,\r\n DeliveryCompanyModule,\r\n ECommerceModule,\r\n CustomerModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n CarouselModule,\r\n SharedComponentsModule,\r\n ],\r\n providers: [],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { RegisterComponent } from './register/register.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { EmailVerifyComponent } from './email-verify/email-verify.component';\r\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\r\n\r\n\r\nconst routes: Routes = [\r\n { path: 'login', component: LoginComponent },\r\n { path: 'register', component: RegisterComponent },\r\n { path: 'forgot-password', component: ForgotPasswordComponent },\r\n { path: `reset-password/:token`, component: ResetPasswordComponent },\r\n { path: `email-verify/:token`, component: EmailVerifyComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AuthPagesRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { AuthPagesRoutingModule } from \"./auth-pages-routing.module\";\r\nimport { LoginComponent } from \"./login/login.component\";\r\nimport { AlertModule } from \"@full-fledged/alerts\";\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { RegisterComponent } from \"./register/register.component\";\r\nimport { ForgotPasswordComponent } from \"./forgot-password/forgot-password.component\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { Ng2TelInputModule } from \"ng2-tel-input\";\r\nimport { NgxIntlTelInputModule } from \"ngx-intl-tel-input\";\r\n\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\n\r\nimport { SocialLoginModule, AuthServiceConfig } from \"angularx-social-login\";\r\nimport {\r\n GoogleLoginProvider,\r\n FacebookLoginProvider,\r\n} from \"angularx-social-login\";\r\nimport { BsModalRef } from \"ngx-bootstrap/modal\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\n\r\nimport { TemplateModule } from \"../e-commerce/template/template.module\";\r\nimport { EmailVerifyComponent } from \"./email-verify/email-verify.component\";\r\nimport { ResetPasswordComponent } from \"./reset-password/reset-password.component\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { MyDirectiveModule } from \"common/directives/my-directive.module\";\r\nimport { AngularFireModule } from \"@angular/fire/compat\";\r\nimport { AngularFireAuthModule } from \"@angular/fire/compat/auth\";\r\n\r\nconst socialConfig = new AuthServiceConfig([\r\n {\r\n id: GoogleLoginProvider.PROVIDER_ID,\r\n provider: new GoogleLoginProvider(constEnv.googleAuthClientId),\r\n },\r\n {\r\n id: FacebookLoginProvider.PROVIDER_ID,\r\n provider: new FacebookLoginProvider(constEnv.facebookAppId),\r\n },\r\n]);\r\n\r\nexport function provideConfig() {\r\n return socialConfig;\r\n}\r\n\r\nconst appProviders = [\r\n BsModalRef,\r\n { provide: AuthServiceConfig, useClass: provideConfig },\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n LoginComponent,\r\n RegisterComponent,\r\n ForgotPasswordComponent,\r\n EmailVerifyComponent,\r\n ResetPasswordComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n AuthPagesRoutingModule,\r\n AlertModule.forRoot({\r\n maxMessages: 1,\r\n timeout: 2500,\r\n positionX: \"right\",\r\n positionY: \"top\",\r\n }),\r\n ComponentModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Ng2TelInputModule,\r\n NgxIntlTelInputModule,\r\n TemplateModule,\r\n TranslateModule.forRoot(),\r\n MaterialModule,\r\n ModalModule.forRoot(),\r\n SocialLoginModule,\r\n MyDirectiveModule,\r\n AngularFireModule.initializeApp(constEnv.firebaseConfig),\r\n AngularFireAuthModule,\r\n ],\r\n providers: appProviders,\r\n})\r\nexport class AuthPagesModule {}\r\n","import { Component, OnInit, Inject, OnDestroy } from \"@angular/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\n// import { AlertService } from 'common/services/alert.service';\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { StoreUserService } from \"common/services/store/storeUser.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\n\r\n@Component({\r\n selector: \"app-email-verify\",\r\n templateUrl: \"./email-verify.component.html\",\r\n styleUrls: [\"./email-verify.component.css\"],\r\n})\r\nexport class EmailVerifyComponent implements OnInit, OnDestroy {\r\n accessToken: string;\r\n isSuccess = false;\r\n isError = false;\r\n errorMessage = \"\";\r\n\r\n constantConfig = constEnv;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private alert: AlertService,\r\n private userService: CustomerService,\r\n private titleService: TitleService,\r\n private route: ActivatedRoute,\r\n private ls: LoaderService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"VerifyEmail\");\r\n this.document.body.classList.add(\"verify-email-body\");\r\n\r\n this.accessToken = this.route.snapshot.params.token;\r\n this.verifyEmail();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"verify-email-body\");\r\n }\r\n\r\n verifyEmail() {\r\n this.ls.showLoader();\r\n // this.alert.clear();\r\n this.isSuccess = false;\r\n this.isError = false;\r\n this.userService.verifyEmail(this.accessToken).subscribe(\r\n (response) => {\r\n if (response[\"status\"] === true) {\r\n this.isSuccess = true;\r\n } else {\r\n this.isError = true;\r\n this.errorMessage = response[\"message\"];\r\n }\r\n // console.log(response);\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.error(msg);\r\n this.isError = true;\r\n this.errorMessage = msg;\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, Inject, OnDestroy } from \"@angular/core\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n FormControl,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { StoreUserService } from \"common/services/store/storeUser.service\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\n\r\n@Component({\r\n selector: \"app-forgot-password\",\r\n templateUrl: \"./forgot-password.component.html\",\r\n styleUrls: [\"./forgot-password.component.css\"],\r\n})\r\nexport class ForgotPasswordComponent implements OnInit, OnDestroy {\r\n FGForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n\r\n constantConfig = constEnv;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alertService: AlertService,\r\n private userService: CustomerService,\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Forgot_Password\");\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.document.body.classList.add(\"forgot-password-body\");\r\n\r\n this.FGForm = this.formBuilder.group({\r\n email: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.pattern(\r\n \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,4}$\"\r\n ),\r\n ])\r\n ),\r\n });\r\n }\r\n\r\n getErrorEmail() {\r\n return this.FGForm.get(\"email\").hasError(\"required\")\r\n ? \"\"\r\n : this.FGForm.get(\"email\").hasError(\"pattern\")\r\n ? \"EmailInValid\"\r\n : // ? this.titleService.getTranslatedString(\"EmailInValid\")\r\n \"\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"forgot-password-body\");\r\n }\r\n\r\n get f() {\r\n return this.FGForm.controls;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.FGForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n this.userService\r\n .forgotPassword(this.FGForm.value.email)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.alertService.success(data[\"message\"]);\r\n this.submitted = false;\r\n this.FGForm.reset();\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n this.router.navigate([`${this.constantConfig.BASE_URL}/login`]);\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.message !== \"undefined\" ? err.error.message : \"\";\r\n if (msg) {\r\n this.alertService.danger(msg);\r\n }\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy, Inject, ViewChild } from \"@angular/core\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { constEnv } from \"../../../../common/constants.env\";\r\n\r\nimport { DOCUMENT } from \"@angular/common\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n} from \"@angular/forms\";\r\nimport { first } from \"rxjs/operators\";\r\n\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { Observable } from \"rxjs\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\n\r\n// import { AuthService } from \"angularx-social-login\";\r\nimport {\r\n FacebookLoginProvider,\r\n GoogleLoginProvider,\r\n SocialUser,\r\n} from \"angularx-social-login\";\r\nimport { BsModalRef, ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { FirebaseAuthService } from \"common/services/firebase-auth.service\";\r\nimport firebase from \"firebase/compat\";\r\n\r\n@Component({\r\n selector: \"app-login\",\r\n templateUrl: \"./login.component.html\",\r\n styleUrls: [\"./login.component.css\"],\r\n})\r\nexport class LoginComponent implements OnInit, OnDestroy {\r\n loginForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n\r\n accountForm: FormGroup;\r\n accountSubmitted = false;\r\n socialuser: SocialUser;\r\n validMobileNo = true;\r\n\r\n @ViewChild(\"autoShownModal\", { static: false })\r\n autoShownModal: ModalDirective;\r\n\r\n modalRef: BsModalRef;\r\n socialSubcription: Subscription;\r\n\r\n countryCode: string;\r\n countryIsoCode: string;\r\n\r\n hasAccountEmail = false;\r\n hasSocialData = {\r\n firstName: false,\r\n lastName: false,\r\n };\r\n\r\n constantConfig = constEnv;\r\n isLoading: Observable;\r\n\r\n public showPassword: boolean = false;\r\n public phoneInputPadding: string = \"0px\";\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private alert: AlertService,\r\n private titleService: TitleService,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private langService: LanguageService,\r\n private isLoadingService: IsLoadingService,\r\n private storeUser: CustomerService,\r\n // private authService: AuthService,\r\n private firebaseAuthService: FirebaseAuthService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Sign_In\");\r\n\r\n // this.returnUrl = this.route.snapshot.queryParams.returnUrl || `${this.constantConfig.CUSTOMER_URL}`;\r\n this.returnUrl =\r\n this.route.snapshot.queryParams.returnUrl ||\r\n `${this.constantConfig.BASE_URL}home`;\r\n\r\n if (this.authenticationService.currentUserValue) {\r\n this.router.navigate([this.returnUrl]);\r\n }\r\n this.isLoading = this.isLoadingService.isLoading$();\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n //this.document.body.classList.add('login-body');\r\n\r\n this.makeLoginForm();\r\n\r\n // this.socialSubcription = this.authService.authState.subscribe((user) => {\r\n // this.socialuser = user;\r\n // if (user !== null) {\r\n // this.checkSocialLogin(user);\r\n // }\r\n // });\r\n }\r\n\r\n makeLoginForm() {\r\n this.loginForm = this.formBuilder.group({\r\n email: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.pattern(\r\n \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,4}$\"\r\n ),\r\n ])\r\n ),\r\n password: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n ),\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"login-body\");\r\n\r\n // this.socialSubcription.unsubscribe();\r\n }\r\n\r\n get f() {\r\n return this.loginForm.controls;\r\n }\r\n\r\n getErrorEmail() {\r\n return this.loginForm.get(\"email\").hasError(\"required\")\r\n ? \"\"\r\n : this.loginForm.get(\"email\").hasError(\"pattern\")\r\n ? \"EmailInValid\"\r\n : // ? this.titleService.getTranslatedString(\"EmailInValid\")\r\n \"\";\r\n }\r\n\r\n getErrorPassword() {\r\n return this.loginForm.get(\"password\").hasError(\"required\")\r\n ? \"\"\r\n : this.loginForm.get(\"password\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : this.loginForm.get(\"password\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : \"\";\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n\r\n this.authenticationService\r\n .login(this.f.email.value, this.f.password.value, \"Customer\")\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n const userdetail =\r\n typeof data?.userdetails !== \"undefined\" ? data?.userdetails : [];\r\n\r\n this.langService.changeLanguage(userdetail.languageCode);\r\n\r\n this.storeUser\r\n .getProfile()\r\n .pipe(first())\r\n .subscribe(\r\n (profile) => {\r\n let redirectURL = this.returnUrl;\r\n //redirectURL = `${constEnv.apiCustomerURL}/settings/store`;\r\n\r\n if (userdetail.isFirstimeLogin) {\r\n redirectURL = `${constEnv.CUSTOMER_URL}/change-password`;\r\n }\r\n\r\n setTimeout(() => {\r\n window.location.href = redirectURL;\r\n }, 2500);\r\n },\r\n (err) => {\r\n this.alert.danger(err.error.message);\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n },\r\n (err) => {\r\n let errorMsg = \"\";\r\n if (typeof err.error.Message !== \"undefined\") {\r\n errorMsg = err.error.Message;\r\n } else if (typeof err.error.error_description !== \"undefined\") {\r\n errorMsg = err.error.error_description;\r\n } else if (typeof err.error.message !== \"undefined\") {\r\n errorMsg = err.error.message;\r\n }\r\n this.submitted = false;\r\n if (errorMsg == \"Password not match\") {\r\n this.loginForm.get(\"password\").reset();\r\n } else {\r\n this.loginForm.reset();\r\n }\r\n if (errorMsg !== \"\") {\r\n // this.alertService.error(errorMsg);\r\n this.alert.danger(errorMsg);\r\n }\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n /*setTimeout( () => {\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }, 1500);*/\r\n }\r\n\r\n public togglePasswordVisibility(): void {\r\n this.showPassword = !this.showPassword;\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Inject,\r\n OnDestroy,\r\n IterableDiffers,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\nimport { DOCUMENT } from \"@angular/common\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n AbstractControl,\r\n} from \"@angular/forms\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { Observable } from \"rxjs\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { CustomerUser } from \"common/_models/customers/customerUser\";\r\n\r\nimport { LanguageService } from \"common/services/language.service\";\r\n\r\n@Component({\r\n selector: \"app-register\",\r\n templateUrl: \"./register.component.html\",\r\n styleUrls: [\"./register.component.css\"],\r\n})\r\nexport class RegisterComponent implements OnInit, OnDestroy {\r\n env = constEnv;\r\n regiForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n countryCode: string;\r\n countryIsoCode: string;\r\n validMobileNo = true;\r\n\r\n isLoading: Observable;\r\n\r\n iniObj: any;\r\n constantConfig = constEnv;\r\n profileForm: FormGroup;\r\n\r\n accountForm: FormGroup;\r\n accountSubmitted = false;\r\n\r\n socialCountryCode: string;\r\n socialCountryIsoCode: string;\r\n\r\n iniSocailObj: any;\r\n\r\n hasAccountEmail = false;\r\n\r\n public showPassword: boolean = false;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alertService: AlertService,\r\n private titleService: TitleService,\r\n private isLoadingService: IsLoadingService,\r\n private customer: CustomerService,\r\n private langService: LanguageService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Sign_Up\");\r\n this.isLoading = this.isLoadingService.isLoading$();\r\n\r\n this.document.body.classList.add(\"page-register\");\r\n\r\n this.createSignUpFrom();\r\n\r\n this.returnUrl =\r\n this.route.snapshot.queryParams.returnUrl || `${this.env.CUSTOMER_URL}`;\r\n }\r\n getCustomerData() {\r\n this.isLoadingService.add();\r\n this.loading = true;\r\n this.customer.getProfile().subscribe(\r\n (data) => {\r\n /*if (data['status'] === true) {*/\r\n\r\n const customerData = new CustomerUser().deserialize(data);\r\n\r\n this.setFormValue(customerData);\r\n this.loading = false;\r\n /*} else {*/\r\n // this.alert.error(data['message']);\r\n //this.isLoadingService.remove();\r\n /*}*/\r\n },\r\n (err) => {\r\n // this.alert.error(err.error.message);\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"page-register\");\r\n }\r\n\r\n createSignUpFrom() {\r\n // tslint:disable-next-line: max-line-length\r\n const emailregex: RegExp =\r\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\r\n this.regiForm = this.formBuilder.group(\r\n {\r\n firstName: [\"\", Validators.required],\r\n lastName: [\"\", Validators.required],\r\n mobileNo: [\"\", Validators.required],\r\n countryCode: this.countryCode,\r\n countryIsoCode: this.countryIsoCode,\r\n email: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.pattern(emailregex),\r\n ])\r\n ),\r\n password: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n ),\r\n terms: [false, Validators.required],\r\n // recaptchaReactive: new FormControl(null, Validators.required)\r\n },\r\n { validator: CustomValidator.checkTerms }\r\n );\r\n }\r\n\r\n get formData() {\r\n return this.regiForm.controls;\r\n }\r\n\r\n hasError(obj) {\r\n if (!obj && this.countryIsoCode === \"ae\") {\r\n const selectedNumber = this.iniObj.getNumber();\r\n this.validMobileNo =\r\n /^(?:\\+971|00971|0)?(?:50|52|53|54|55|56|57|58|59|2|3|4|6|7|9)\\d{7}$/gm.test(\r\n selectedNumber\r\n );\r\n } else {\r\n this.validMobileNo = obj;\r\n }\r\n }\r\n\r\n onCountryChange(obj) {\r\n this.countryCode = obj.dialCode;\r\n this.countryIsoCode = obj.iso2;\r\n }\r\n\r\n telInputObject(obj) {\r\n this.iniObj = obj;\r\n const countryData = obj.getSelectedCountryData();\r\n this.countryCode = countryData.dialCode;\r\n this.countryIsoCode = countryData.iso2;\r\n }\r\n\r\n getErrorEmail() {\r\n return this.regiForm.get(\"email\").hasError(\"required\")\r\n ? \"\"\r\n : this.regiForm.get(\"email\").hasError(\"pattern\")\r\n ? \"EmailInValid\"\r\n : // ? this.titleService.getTranslatedString(\"EmailInValid\")\r\n \"\";\r\n }\r\n\r\n getErrorPassword() {\r\n return this.regiForm.get(\"password\").hasError(\"required\")\r\n ? \"\"\r\n : this.regiForm.get(\"password\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.regiForm.get(\"password\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n \"\";\r\n }\r\n setFormValue(customerData: CustomerUser) {\r\n if (customerData.phone_code !== null) {\r\n this.iniObj.setNumber(customerData.phone_code);\r\n }\r\n // this.isEmailAvailable = (customerData.email !== '') ? true : false;\r\n this.regiForm.get(\"firstName\").setValue(customerData.first_name);\r\n this.regiForm.get(\"lastName\").setValue(customerData.last_name);\r\n this.regiForm.get(\"mobileNo\").setValue(customerData.phone);\r\n this.regiForm.get(\"email\").setValue(customerData.email);\r\n this.regiForm\r\n .get(\"languageId\")\r\n .setValue(customerData.languageId.toString());\r\n this.regiForm\r\n .get(\"CurrencyId\")\r\n .setValue(customerData.currencyId.toString());\r\n }\r\n get f() {\r\n return this.profileForm.controls;\r\n }\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.regiForm.invalid) {\r\n return;\r\n }\r\n\r\n if (!this.validMobileNo) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n\r\n this.regiForm.value.countryCode = \"+\" + this.countryCode;\r\n this.regiForm.value.countryIsoCode = this.countryIsoCode;\r\n const formData = {\r\n firstName: this.regiForm.value.firstName,\r\n lastName: this.regiForm.value.lastName,\r\n email: this.regiForm.value.email,\r\n phoneCode: this.countryCode,\r\n phone: this.regiForm.value.mobileNo,\r\n password: this.regiForm.value.password,\r\n regionCode: this.countryIsoCode,\r\n };\r\n this.customer\r\n .register(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"]) {\r\n this.alertService.success(data[\"message\"]);\r\n this.submitted = false;\r\n this.regiForm.reset();\r\n this.router.navigate([`${this.constantConfig.CUSTOMER_URL}`]);\r\n } else {\r\n this.alertService.danger(data[\"message\"]);\r\n }\r\n this.loading = false;\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.message !== \"undefined\" ? err.error.message : \"\";\r\n if (msg) {\r\n this.alertService.danger(msg);\r\n }\r\n this.loading = false;\r\n }\r\n );\r\n\r\n setTimeout(() => {\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }, 2000);\r\n }\r\n}\r\n","import { Component, OnInit, Inject, OnDestroy } from \"@angular/core\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n FormControl,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n// import { AlertService } from 'common/services/alert.service';\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { StoreUserService } from \"common/services/store/storeUser.service\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\n\r\n@Component({\r\n selector: \"app-reset-password\",\r\n templateUrl: \"./reset-password.component.html\",\r\n styleUrls: [\"./reset-password.component.css\"],\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n RPForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n accessToken: string;\r\n\r\n constantConfig = constEnv;\r\n\r\n public showNewPassword: boolean = false;\r\n public showConfirmPassword: boolean = false;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alertService: AlertService,\r\n private userService: CustomerService,\r\n private titleService: TitleService,\r\n private isLoadingService: IsLoadingService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"ResetPassword\");\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n this.document.body.classList.add(\"reset-password-body\");\r\n\r\n this.accessToken = this.route.snapshot.params.token;\r\n\r\n this.RPForm = this.formBuilder.group(\r\n {\r\n newPassword: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n ),\r\n confirmPassword: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n ),\r\n },\r\n { validator: CustomValidator.MatchPassword }\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"reset-password-body\");\r\n }\r\n\r\n getErrorNewPassword() {\r\n return this.RPForm.get(\"newPassword\").hasError(\"required\")\r\n ? \"\"\r\n : this.RPForm.get(\"newPassword\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.RPForm.get(\"newPassword\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n \"\";\r\n }\r\n\r\n getErrorConfirmPassword() {\r\n return this.RPForm.get(\"confirmPassword\").hasError(\"required\")\r\n ? \"\"\r\n : this.RPForm.get(\"confirmPassword\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.RPForm.get(\"confirmPassword\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.RPForm.get(\"confirmPassword\").hasError(\"confirmPassword\")\r\n ? \"NewPasswordAndConfirmPasswordMustBeSame\"\r\n : // ? this.titleService.getTranslatedString(\"NewPasswordAndConfirmPasswordMustBeSame\")\r\n \"\";\r\n }\r\n\r\n get f() {\r\n return this.RPForm.controls;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // reset alerts on submit\r\n // this.alertService.clear();\r\n\r\n // stop here if form is invalid\r\n if (this.RPForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n\r\n this.userService\r\n .resetPassword(this.accessToken, this.RPForm.value.newPassword)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.alertService.success(data[\"message\"]);\r\n this.submitted = false;\r\n this.RPForm.reset();\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n this.router.navigate([`${this.constantConfig.BASE_URL}/login`]);\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.message !== \"undefined\" ? err.error.message : \"\";\r\n if (msg) {\r\n // this.alertService.error(msg);\r\n this.alertService.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, Inject, OnDestroy } from \"@angular/core\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n FormControl,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\n// import { AlertService } from 'common/services/alert.service';\r\nimport { DeliveryCompanyService } from \"common/services/delivery-company.service\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\n\r\n@Component({\r\n selector: \"app-dc-forgot-password\",\r\n templateUrl: \"./dc-forgot-password.component.html\",\r\n styleUrls: [\"./dc-forgot-password.component.css\"],\r\n})\r\nexport class DcForgotPasswordComponent implements OnInit, OnDestroy {\r\n FGForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n\r\n constantConfig = constEnv;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n // public constantConfig: ConstansService,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alertService: AlertService,\r\n private dcService: DeliveryCompanyService,\r\n private titleService: TitleService,\r\n private isLoadingService: IsLoadingService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Forgot_Password\");\r\n this.document.body.classList.add(\"forgot-password-body\");\r\n\r\n this.FGForm = this.formBuilder.group({\r\n email: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.pattern(\r\n \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,4}$\"\r\n ),\r\n ])\r\n ),\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"forgot-password-body\");\r\n }\r\n\r\n get f() {\r\n return this.FGForm.controls;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // reset alerts on submit\r\n // this.alertService.clear();\r\n\r\n // stop here if form is invalid\r\n if (this.FGForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n\r\n this.dcService\r\n .forgotPassword(this.FGForm.value.email)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"]) {\r\n this.alertService.success(data[\"message\"]);\r\n this.submitted = false;\r\n this.FGForm.reset();\r\n } else {\r\n this.alertService.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n this.router.navigate([\r\n `${this.constantConfig.DELIVERY_COMPANY_URL}/login`,\r\n ]);\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg) {\r\n this.alertService.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n getErrorEmail() {\r\n return this.FGForm.get(\"email\").hasError(\"required\")\r\n ? \"\"\r\n : this.FGForm.get(\"email\").hasError(\"pattern\")\r\n ? \"EmailInValid\"\r\n : // ? this.titleService.getTranslatedString(\"EmailInValid\")\r\n \"\";\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n Inject,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\n\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n} from \"@angular/forms\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { DeliveryCompanyService } from \"common/services/delivery-company.service\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-dc-login\",\r\n templateUrl: \"./dc-login.component.html\",\r\n styleUrls: [\"./dc-login.component.css\"],\r\n})\r\nexport class DcLoginComponent implements OnInit, OnDestroy, AfterViewInit {\r\n loginForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n\r\n constantConfig = constEnv;\r\n\r\n public showPassword: boolean = false;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private formBuilder: FormBuilder,\r\n private alertService: AlertService,\r\n private ls: LoaderService,\r\n private titleService: TitleService,\r\n // private dcService: DeliveryCompanyService,\r\n private route: ActivatedRoute,\r\n private translate: TranslateService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Sign_In\");\r\n this.document.body.classList.add(\"page-login\");\r\n\r\n this.loginForm = this.formBuilder.group({\r\n email: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.pattern(\r\n \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,4}$\"\r\n ),\r\n ])\r\n ),\r\n password: [\"\", Validators.required],\r\n type: [\"deliverycompany\"],\r\n });\r\n }\r\n\r\n getErrorEmail() {\r\n return this.loginForm.get(\"email\").hasError(\"required\")\r\n ? \"\"\r\n : this.loginForm.get(\"email\").hasError(\"pattern\")\r\n ? \"EmailInValid\"\r\n : // ? this.titleService.getTranslatedString(\"EmailInValid\")\r\n \"\";\r\n }\r\n\r\n getErrorPassword() {\r\n return this.loginForm.get(\"password\").hasError(\"required\")\r\n ? \"\"\r\n : this.loginForm.get(\"password\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.loginForm.get(\"password\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n \"\";\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const errorCode = this.route.snapshot.queryParams.code;\r\n if (errorCode >= 0) {\r\n const errMsg = this.getLoginErrorMsg(errorCode);\r\n if (errMsg !== \"\") {\r\n this.alertService.danger(this.translate.instant(errMsg));\r\n }\r\n }\r\n if (errorCode == 1) {\r\n const emailFromParams = this.route.snapshot.queryParams.email || \"\";\r\n this.loginForm.patchValue({\r\n email: emailFromParams,\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"login-body\");\r\n }\r\n\r\n get f() {\r\n return this.loginForm.controls;\r\n }\r\n\r\n getLoginErrorMsg(errorCode) {\r\n const errors = [\r\n \"UserLoginDisable\",\r\n \"UserLoginAuthorise\",\r\n \"password_incorrect\",\r\n \"email_not_verified\",\r\n \"user_not_found\",\r\n ];\r\n\r\n return typeof errors[errorCode] !== \"undefined\" ? errors[errorCode] : \"\";\r\n }\r\n\r\n onSubmit(e) {\r\n this.submitted = true;\r\n\r\n // reset alerts on submit\r\n // this.alertService.clear();\r\n\r\n // stop here if form is invalid\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.ls.showLoader();\r\n\r\n e.target.submit();\r\n // return false;\r\n\r\n // this.dcService.login(this.f.email.value, this.f.password.value)\r\n // .pipe(first())\r\n // .subscribe(\r\n // data => {\r\n // console.log(data);\r\n // // window.location.href = redirectURL;\r\n // },\r\n // err => {\r\n // let errorMsg = '';\r\n // if (typeof err.error.Message !== 'undefined') {\r\n // errorMsg = err.error.Message;\r\n // } else if (typeof err.error.error_description !== 'undefined') {\r\n // errorMsg = err.error.error_description;\r\n // }\r\n\r\n // this.submitted = false;\r\n // this.loginForm.reset();\r\n\r\n // if (errorMsg !== '') {\r\n // this.alertService.danger(errorMsg);\r\n // }\r\n // this.loading = false;\r\n // this.ls.hideLoader();\r\n // });\r\n }\r\n}\r\n","import { Component, OnInit, Inject, OnDestroy } from \"@angular/core\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n FormControl,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { DeliveryCompanyService } from \"common/services/delivery-company.service\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\n\r\n@Component({\r\n selector: \"app-dc-reset-password\",\r\n templateUrl: \"./dc-reset-password.component.html\",\r\n styleUrls: [\"./dc-reset-password.component.css\"],\r\n})\r\nexport class DcResetPasswordComponent implements OnInit {\r\n RPForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n accessToken: string;\r\n constantConfig = constEnv;\r\n\r\n public showNewPassword: boolean = false;\r\n public showConfirmPassword: boolean = false;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n // public constantConfig: ConstansService,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alertService: AlertService,\r\n private dcService: DeliveryCompanyService,\r\n private titleService: TitleService,\r\n private isLoadingService: IsLoadingService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"ResetPassword\");\r\n this.document.body.classList.add(\"reset-password-body\");\r\n\r\n this.accessToken = this.route.snapshot.params.token;\r\n\r\n this.RPForm = this.formBuilder.group(\r\n {\r\n newPassword: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n ),\r\n confirmPassword: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n ),\r\n },\r\n { validator: CustomValidator.MatchPassword }\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"reset-password-body\");\r\n }\r\n\r\n get f() {\r\n return this.RPForm.controls;\r\n }\r\n\r\n getErrorNewPassword() {\r\n return this.RPForm.get(\"newPassword\").hasError(\"required\")\r\n ? \"\"\r\n : this.RPForm.get(\"newPassword\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.RPForm.get(\"newPassword\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n \"\";\r\n }\r\n\r\n getErrorConfirmPassword() {\r\n return this.RPForm.get(\"confirmPassword\").hasError(\"required\")\r\n ? \"\"\r\n : this.RPForm.get(\"confirmPassword\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.RPForm.get(\"confirmPassword\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.RPForm.get(\"confirmPassword\").hasError(\"confirmPassword\")\r\n ? \"NewPasswordAndConfirmPasswordMustBeSame\"\r\n : // ? this.titleService.getTranslatedString(\"NewPasswordAndConfirmPasswordMustBeSame\")\r\n \"\";\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // reset alerts on submit\r\n // this.alertService.clear();\r\n\r\n // stop here if form is invalid\r\n if (this.RPForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n\r\n this.dcService\r\n .resetPassword(this.accessToken, this.RPForm.value.newPassword)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"]) {\r\n this.alertService.success(data[\"message\"]);\r\n this.submitted = false;\r\n this.RPForm.reset();\r\n } else {\r\n this.alertService.danger(data[\"message\"]);\r\n }\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n this.router.navigate([\r\n `${this.constantConfig.DELIVERY_COMPANY_URL}/login`,\r\n ]);\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.message !== \"undefined\" ? err.error.message : \"\";\r\n if (msg) {\r\n this.alertService.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { constEnv } from \"common/constants.env\";\r\n// import { DcEmailVerifyComponent } from './dc-email-verify/dc-email-verify.component';\r\nimport { DcForgotPasswordComponent } from \"./dc-forgot-password/dc-forgot-password.component\";\r\nimport { DcLoginComponent } from \"./dc-login/dc-login.component\";\r\nimport { DcResetPasswordComponent } from \"./dc-reset-password/dc-reset-password.component\";\r\n// import { DcRegisterComponent } from './dc-register/dc-register.component';\r\n\r\nconst DeliveryCompanyPrefix = constEnv.deliveryCompanyEndPoint;\r\n\r\nconst routes: Routes = [\r\n { path: `${DeliveryCompanyPrefix}/login`, component: DcLoginComponent },\r\n // { path: `${DeliveryCompanyPrefix}/register` , component: DcRegisterComponent },\r\n {\r\n path: `${DeliveryCompanyPrefix}/forgot-password`,\r\n component: DcForgotPasswordComponent,\r\n },\r\n {\r\n path: `${DeliveryCompanyPrefix}/reset-password/:token`,\r\n component: DcResetPasswordComponent,\r\n },\r\n // { path: `${DeliveryCompanyPrefix}/email-verify/:token` , component: DcEmailVerifyComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class DeliveryCompanyRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { DcLoginComponent } from \"./dc-login/dc-login.component\";\r\n// import { DcRegisterComponent } from './dc-register/dc-register.component';\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { RecaptchaModule, RecaptchaFormsModule } from \"ng-recaptcha\";\r\nimport { Ng2TelInputModule } from \"ng2-tel-input\";\r\nimport { NgxIntlTelInputModule } from \"ngx-intl-tel-input\";\r\n// import { DcEmailVerifyComponent } from './dc-email-verify/dc-email-verify.component';\r\nimport { DcForgotPasswordComponent } from \"./dc-forgot-password/dc-forgot-password.component\";\r\nimport { DcResetPasswordComponent } from \"./dc-reset-password/dc-reset-password.component\";\r\n\r\nimport { DeliveryCompanyRoutingModule } from \"./delivery-company-routing.module\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\n\r\n@NgModule({\r\n declarations: [\r\n DcLoginComponent,\r\n DcForgotPasswordComponent,\r\n DcResetPasswordComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ComponentModule,\r\n TranslateModule,\r\n RouterModule,\r\n RecaptchaModule,\r\n RecaptchaFormsModule,\r\n Ng2TelInputModule,\r\n DeliveryCompanyRoutingModule,\r\n NgxIntlTelInputModule,\r\n MaterialModule,\r\n ],\r\n})\r\nexport class DeliveryCompanyModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\n// import { DcEmailVerifyComponent } from './dc-email-verify/dc-email-verify.component';\r\nimport { ForgotPasswordComponent } from \"./forgot-password/forgot-password.component\";\r\nimport { LoginComponent } from \"./login/login.component\";\r\nimport { ResetPasswordComponent } from \"./reset-password/reset-password.component\";\r\n// import { DcRegisterComponent } from './dc-register/dc-register.component';\r\n\r\nconst DesignerPrefix = constEnv.designerEndPoint;\r\n\r\nconst routes: Routes = [\r\n { path: `${DesignerPrefix}/login`, component: LoginComponent },\r\n // { path: `${DeliveryCompanyPrefix}/register` , component: DcRegisterComponent },\r\n {\r\n path: `${DesignerPrefix}/forgot-password`,\r\n component: ForgotPasswordComponent,\r\n },\r\n {\r\n path: `${DesignerPrefix}/reset-password/:token`,\r\n component: ResetPasswordComponent,\r\n },\r\n // { path: `${DeliveryCompanyPrefix}/email-verify/:token` , component: DcEmailVerifyComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class DesignerRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ComponentModule } from 'common/_components/components.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { RecaptchaModule, RecaptchaFormsModule } from 'ng-recaptcha';\r\nimport { Ng2TelInputModule } from 'ng2-tel-input';\r\nimport { NgxIntlTelInputModule } from 'ngx-intl-tel-input';\r\nimport { MaterialModule } from 'common/modules/material.module';\r\n\r\nimport { DesignerRoutingModule } from './designer-routing.module';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [LoginComponent, ForgotPasswordComponent, ResetPasswordComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ComponentModule,\r\n TranslateModule,\r\n DesignerRoutingModule,\r\n RouterModule,\r\n RecaptchaModule,\r\n RecaptchaFormsModule,\r\n Ng2TelInputModule,\r\n NgxIntlTelInputModule,\r\n MaterialModule\r\n ]\r\n})\r\nexport class DesignerModule { }\r\n","import {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n Inject,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\n\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n} from \"@angular/forms\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { DesignerService } from \"common/services/store/designer.service\";\r\n\r\n@Component({\r\n selector: \"app-forgot-password\",\r\n templateUrl: \"./forgot-password.component.html\",\r\n styleUrls: [\"./forgot-password.component.css\"],\r\n})\r\nexport class ForgotPasswordComponent implements OnInit {\r\n FPForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n\r\n constantConfig = constEnv;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private formBuilder: FormBuilder,\r\n private alertService: AlertService,\r\n private ls: IsLoadingService,\r\n private titleService: TitleService,\r\n private router: Router,\r\n private designerService: DesignerService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Forgot_Password\");\r\n this.document.body.classList.add(\"page-forgot-password\");\r\n\r\n if (this.ls.isLoading$()) {\r\n this.ls.remove();\r\n }\r\n\r\n this.FPForm = this.formBuilder.group({\r\n email: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.pattern(\r\n \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,4}$\"\r\n ),\r\n ])\r\n ),\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"page-forgot-password\");\r\n }\r\n\r\n getErrorEmail() {\r\n return this.FPForm.get(\"email\").hasError(\"required\")\r\n ? \"\"\r\n : this.FPForm.get(\"email\").hasError(\"pattern\")\r\n ? \"EmailInValid\"\r\n : // ? this.titleService.getTranslatedString(\"EmailInValid\")\r\n \"\";\r\n }\r\n\r\n get f() {\r\n return this.FPForm.controls;\r\n }\r\n\r\n onSubmit(e) {\r\n this.submitted = true;\r\n\r\n // reset alerts on submit\r\n // this.alertService.clear();\r\n\r\n // stop here if form is invalid\r\n if (this.FPForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.ls.add();\r\n\r\n this.designerService.forgotPassword(this.f.email.value).subscribe(\r\n (data) => {\r\n const res = data as FPResponse;\r\n if (res.status) {\r\n this.alertService.success(res.message);\r\n this.submitted = false;\r\n this.FPForm.reset();\r\n this.loading = false;\r\n this.router.navigate([`${this.constantConfig.DESIGNER_URL}/login`]);\r\n } else {\r\n this.alertService.danger(res.message);\r\n this.ls.remove();\r\n }\r\n },\r\n (err) => {\r\n let errorMsg = \"\";\r\n if (typeof err.error.Message !== \"undefined\") {\r\n errorMsg = err.error.Message;\r\n } else if (typeof err.error.message !== \"undefined\") {\r\n errorMsg = err.error.message;\r\n }\r\n\r\n this.submitted = false;\r\n this.FPForm.reset();\r\n\r\n if (errorMsg !== \"\") {\r\n this.alertService.danger(errorMsg);\r\n }\r\n this.loading = false;\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface FPResponse {\r\n status: boolean;\r\n status_code: number;\r\n message: string;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n Inject,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\n\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n} from \"@angular/forms\";\r\n\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\n\r\n@Component({\r\n selector: \"app-login\",\r\n templateUrl: \"./login.component.html\",\r\n styleUrls: [\"./login.component.css\"],\r\n})\r\nexport class LoginComponent implements OnInit {\r\n loginForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n\r\n constantConfig = constEnv;\r\n\r\n public showPassword: boolean = false;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private formBuilder: FormBuilder,\r\n private alertService: AlertService,\r\n private ls: IsLoadingService,\r\n private titleService: TitleService,\r\n private route: ActivatedRoute,\r\n private translate: TranslateService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Sign_In\");\r\n this.document.body.classList.add(\"page-login\");\r\n\r\n if (this.ls.isLoading$()) {\r\n this.ls.remove();\r\n }\r\n\r\n this.loginForm = this.formBuilder.group({\r\n email: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.pattern(\r\n \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,4}$\"\r\n ),\r\n ])\r\n ),\r\n password: [\"\", Validators.required],\r\n type: [\"designer\"],\r\n });\r\n }\r\n\r\n getErrorEmail() {\r\n return this.loginForm.get(\"email\").hasError(\"required\")\r\n ? \"\"\r\n : this.loginForm.get(\"email\").hasError(\"pattern\")\r\n ? \"EmailInValid\"\r\n : // ? this.titleService.getTranslatedString(\"EmailInValid\")\r\n \"\";\r\n }\r\n\r\n getErrorPassword() {\r\n return this.loginForm.get(\"password\").hasError(\"required\")\r\n ? \"\"\r\n : this.loginForm.get(\"password\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.loginForm.get(\"password\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n \"\";\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const errorCode = this.route.snapshot.queryParams.code;\r\n if (errorCode >= 0) {\r\n const errMsg = this.getLoginErrorMsg(errorCode);\r\n if (errMsg !== \"\") {\r\n this.alertService.danger(this.translate.instant(errMsg));\r\n }\r\n }\r\n if (errorCode == 1) {\r\n const emailFromParams = this.route.snapshot.queryParams.email || \"\";\r\n this.loginForm.patchValue({\r\n email: emailFromParams,\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"login-body\");\r\n }\r\n\r\n get f() {\r\n return this.loginForm.controls;\r\n }\r\n\r\n getLoginErrorMsg(errorCode) {\r\n const errors = [\r\n \"UserLoginDisable\",\r\n \"UserLoginAuthorise\",\r\n \"password_incorrect\",\r\n \"email_not_verified\",\r\n \"user_not_found\",\r\n ];\r\n\r\n return typeof errors[errorCode] !== \"undefined\" ? errors[errorCode] : \"\";\r\n }\r\n\r\n onSubmit(e) {\r\n this.submitted = true;\r\n\r\n // reset alerts on submit\r\n // this.alertService.clear();\r\n\r\n // stop here if form is invalid\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.ls.add();\r\n\r\n e.target.submit();\r\n // return false;\r\n\r\n // this.dcService.login(this.f.email.value, this.f.password.value)\r\n // .pipe(first())\r\n // .subscribe(\r\n // data => {\r\n // console.log(data);\r\n // // window.location.href = redirectURL;\r\n // },\r\n // err => {\r\n // let errorMsg = '';\r\n // if (typeof err.error.Message !== 'undefined') {\r\n // errorMsg = err.error.Message;\r\n // } else if (typeof err.error.error_description !== 'undefined') {\r\n // errorMsg = err.error.error_description;\r\n // }\r\n\r\n // this.submitted = false;\r\n // this.loginForm.reset();\r\n\r\n // if (errorMsg !== '') {\r\n // this.alertService.danger(errorMsg);\r\n // }\r\n // this.loading = false;\r\n // this.ls.hideLoader();\r\n // });\r\n }\r\n}\r\n","import { Component, OnInit, Inject, OnDestroy } from \"@angular/core\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n FormControl,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { DeliveryCompanyService } from \"common/services/delivery-company.service\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { DesignerService } from \"common/services/store/designer.service\";\r\n\r\n@Component({\r\n selector: \"app-reset-password\",\r\n templateUrl: \"./reset-password.component.html\",\r\n styleUrls: [\"./reset-password.component.css\"],\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n RPForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n accessToken: string;\r\n constantConfig = constEnv;\r\n\r\n public showNewPassword: boolean = false;\r\n public showConfirmPassword: boolean = false;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n // public constantConfig: ConstansService,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alertService: AlertService,\r\n private dService: DesignerService,\r\n private titleService: TitleService,\r\n private isLoadingService: IsLoadingService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"ResetPassword\");\r\n this.document.body.classList.add(\"reset-password-body\");\r\n\r\n this.accessToken = this.route.snapshot.params.token;\r\n\r\n this.RPForm = this.formBuilder.group(\r\n {\r\n newPassword: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n ),\r\n confirmPassword: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n ),\r\n },\r\n { validator: CustomValidator.MatchPassword }\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"reset-password-body\");\r\n }\r\n\r\n get f() {\r\n return this.RPForm.controls;\r\n }\r\n\r\n getErrorNewPassword() {\r\n return this.RPForm.get(\"newPassword\").hasError(\"required\")\r\n ? \"\"\r\n : this.RPForm.get(\"newPassword\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.RPForm.get(\"newPassword\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n \"\";\r\n }\r\n\r\n getErrorConfirmPassword() {\r\n return this.RPForm.get(\"confirmPassword\").hasError(\"required\")\r\n ? \"\"\r\n : this.RPForm.get(\"confirmPassword\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.RPForm.get(\"confirmPassword\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.RPForm.get(\"confirmPassword\").hasError(\"confirmPassword\")\r\n ? \"NewPasswordAndConfirmPasswordMustBeSame\"\r\n : // ? this.titleService.getTranslatedString(\"NewPasswordAndConfirmPasswordMustBeSame\")\r\n \"\";\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // reset alerts on submit\r\n // this.alertService.clear();\r\n\r\n // stop here if form is invalid\r\n if (this.RPForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.isLoadingService.add();\r\n\r\n this.dService\r\n .resetPassword(this.accessToken, this.RPForm.value.newPassword)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"]) {\r\n this.alertService.success(data[\"message\"]);\r\n this.submitted = false;\r\n this.RPForm.reset();\r\n } else {\r\n this.alertService.danger(data[\"message\"]);\r\n }\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n this.router.navigate([`${this.constantConfig.DESIGNER_URL}/login`]);\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.message !== \"undefined\" ? err.error.message : \"\";\r\n if (msg) {\r\n this.alertService.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\nimport { CartService } from \"common/services/site/cartservice\";\r\nimport { Cart, CartCalculation } from \"common/_models/site/cart.modal\";\r\nimport { EventEmitterService } from \"common/services/event-emitter.service\";\r\nimport { DeliveryPlan } from \"common/_models/site/cartItem.modal\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\n// import { escapeRegExp } from \"@angular/compiler/src/util\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\nimport { FixedElementService } from \"common/services/fixed-element.service\";\r\n\r\n@Component({\r\n selector: \"app-cart\",\r\n templateUrl: \"./cart.component.html\",\r\n styleUrls: [\"./cart.component.css\"],\r\n})\r\nexport class CartComponent implements OnInit {\r\n config = constEnv;\r\n\r\n isUserLoggedIn = false;\r\n cartInfo: Cart = null;\r\n\r\n cartForm: FormGroup;\r\n\r\n selectedPromoCode: string = \"\";\r\n\r\n pageTitle = \"USER_My_Cart\";\r\n pageFor: string;\r\n productId: number = 0;\r\n\r\n @ViewChild(\"autoShownModal\", { static: false })\r\n autoShownModal: ModalDirective;\r\n isModalShown = false;\r\n\r\n @ViewChild(\"couponModal\", { static: false })\r\n couponModal: ModalDirective;\r\n isCouponModalShown = false;\r\n\r\n customerAddresses: CustAddress[] = [];\r\n selectedAddress = 0;\r\n\r\n cartItemQty: UpdateItemQtyData[] = [];\r\n\r\n qtyError: string[] = [];\r\n\r\n couponLists: Coupon[] = null;\r\n termsAgreed: boolean = false;\r\n currencyCode: any;\r\n\r\n headerStyle = {};\r\n\r\n constructor(\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alert: AlertService,\r\n private cart: CartService,\r\n private authenticationService: AuthenticationService,\r\n private fb: FormBuilder,\r\n private customer: CustomerService,\r\n private fixedElementService: FixedElementService\r\n ) {}\r\n\r\n ngOnInit() {\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.fixedElementService.fixedElementHeight$.subscribe((height) => {\r\n const actualHeight = height + 100;\r\n this.headerStyle = { \"margin-top\": `${actualHeight}px` };\r\n });\r\n\r\n const currentUser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.currencyCode = currentUser.userdetails.currencyCode;\r\n\r\n this.isUserLoggedIn = this.authenticationService.currentUserValue\r\n ? true\r\n : false;\r\n\r\n if (this.isUserLoggedIn) {\r\n const userDetails =\r\n this.authenticationService.currentUserValue.userdetails;\r\n if (\r\n userDetails.userType == \"designer\" ||\r\n userDetails.userType == \"store\"\r\n ) {\r\n this.router.navigate([this.config.BASE_URL]);\r\n return false;\r\n }\r\n this.route.queryParams.subscribe((param) => {\r\n this.selectedAddress =\r\n typeof param.addId !== \"undefined\" ? param.addId : 0;\r\n });\r\n\r\n this.route.data.subscribe((data) => {\r\n switch (data.for) {\r\n case \"buy-now\":\r\n this.pageTitle = \"BuyNow\";\r\n this.route.queryParams.subscribe((params) => {\r\n this.productId = params[\"pid\"];\r\n });\r\n if (this.productId <= 0) {\r\n this.router.navigate([this.config.BASE_URL]);\r\n }\r\n this.getBuyNowData();\r\n break;\r\n\r\n case \"cart\":\r\n this.pageTitle = \"USER_My_Cart\";\r\n this.getCart();\r\n break;\r\n\r\n default:\r\n this.router.navigate([this.config.BASE_URL]);\r\n break;\r\n }\r\n this.pageFor = data.for;\r\n });\r\n\r\n this.createCartForm();\r\n }\r\n this.titleService.setTitle(this.pageTitle);\r\n\r\n if (localStorage.getItem(\"_o\") !== null) {\r\n const orderInfo = JSON.parse(\r\n decodeURIComponent(localStorage.getItem(\"_o\"))\r\n );\r\n this.checkPaymentStatus(orderInfo);\r\n }\r\n }\r\n\r\n checkPaymentStatus(orderInfo) {\r\n const formData = new FormData();\r\n formData.append(\"CustomerNotes\", orderInfo._n);\r\n // formData.append('promoCodeId', '');\r\n // formData.append('promoCodeText', this.orderInfo._p);\r\n formData.append(\"DeliveryAddressId\", orderInfo._da);\r\n formData.append(\"order_ref\", orderInfo._ref);\r\n formData.append(\"OrderBaseDetailId\", orderInfo._order);\r\n formData.append(\"IsBuyNow\", orderInfo._isBuyNow);\r\n formData.append(\"ProductId\", orderInfo._isBuyNow ? orderInfo._pid : 0);\r\n\r\n this.isLoadingService.add();\r\n this.cart.checkPaymentStatus(formData).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n localStorage.removeItem(\"_o\");\r\n } else {\r\n // this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n createCartForm() {\r\n this.cartForm = this.fb.group({\r\n addressId: [this.selectedAddress],\r\n promoCode: [\"\"],\r\n note: [\"\", [Validators.maxLength(500)]],\r\n ProductId: [this.productId],\r\n termsAgreed: [false, Validators.requiredTrue],\r\n });\r\n }\r\n\r\n getCart() {\r\n this.isLoadingService.add();\r\n\r\n this.cart.getCart(this.selectedAddress).subscribe(\r\n (data) => {\r\n const res = data as CartResponse;\r\n if (res.status === true) {\r\n this.cartInfo = new Cart().deserialize(res.data);\r\n\r\n this.cartInfo.myCart.forEach((item) => {\r\n const index = this.cartItemQty.findIndex(\r\n (e) => e.recordId === item.recordId\r\n );\r\n item.expectedDeliveryDate = item.actualDeliveryPlanDate;\r\n if (index === -1) {\r\n const currentDate = new Date();\r\n currentDate.setDate(\r\n currentDate.getDate() + item.deliveryPlan.minDays\r\n );\r\n // item.expectedDeliveryDate = currentDate;\r\n this.cartItemQty.push({\r\n recordId: item.recordId,\r\n itemQuantity: item.itemQty,\r\n status: false,\r\n message: \"\",\r\n });\r\n }\r\n\r\n });\r\n\r\n this.cartForm\r\n .get(\"addressId\")\r\n .setValue(this.cartInfo.customerAddress.addressId);\r\n\r\n if (this.cartInfo.cartMessage !== \"\") {\r\n this.alert.danger(this.cartInfo.cartMessage);\r\n }\r\n this.isLoadingService.remove();\r\n } else {\r\n if (res.message !== \"\") {\r\n this.alert.danger(res.message);\r\n }\r\n }\r\n\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n getBuyNowData() {\r\n this.isLoadingService.add();\r\n this.cart.getCart(this.selectedAddress, true, this.productId).subscribe(\r\n (data) => {\r\n const res = data as CartResponse;\r\n if (res.status === true) {\r\n this.cartInfo = new Cart().deserialize(res.data);\r\n\r\n this.cartInfo.myCart.forEach((item) => {\r\n const currentDate = new Date();\r\n currentDate.setDate(\r\n currentDate.getDate() + item.deliveryPlan.minDays\r\n );\r\n item.expectedDeliveryDate = currentDate;\r\n this.cartItemQty.push({\r\n recordId: item.recordId,\r\n itemQuantity: item.itemQty,\r\n status: false,\r\n message: \"\",\r\n });\r\n });\r\n\r\n this.cartForm\r\n .get(\"addressId\")\r\n .setValue(this.cartInfo.customerAddress.addressId);\r\n\r\n if (this.cartInfo.cartMessage !== \"\") {\r\n this.alert.danger(this.cartInfo.cartMessage);\r\n }\r\n this.isLoadingService.remove();\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n getBuyNowData_OLD() {\r\n this.isLoadingService.add();\r\n this.cart.getBuyNow(this.productId, this.selectedAddress).subscribe(\r\n (data) => {\r\n const res = data as CartResponse;\r\n if (res.status === true) {\r\n this.cartInfo = new Cart().deserialize(res.data);\r\n\r\n this.cartInfo.myCart.forEach((item) => {\r\n const currentDate = new Date();\r\n currentDate.setDate(\r\n currentDate.getDate() + item.deliveryPlan.minDays\r\n );\r\n item.expectedDeliveryDate = currentDate;\r\n });\r\n\r\n this.cartForm\r\n .get(\"addressId\")\r\n .setValue(this.cartInfo.customerAddress.addressId);\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n removeFromCart(recordId: number) {\r\n this.isLoadingService.add();\r\n this.cart.removeFromCart(recordId).subscribe(\r\n (data) => {\r\n const res = data as CartResponse;\r\n\r\n if (res.status === true) {\r\n if (res.data.myCart !== null) {\r\n this.cartInfo = new Cart().deserialize(res.data);\r\n // this.eventEmitterService.getCartCount();\r\n this.cartItemQty.forEach((single, i) => {\r\n if (single.recordId === recordId) {\r\n this.cartItemQty.splice(i, 1);\r\n }\r\n });\r\n this.alert.success(res.message);\r\n } else {\r\n this.cartInfo = null;\r\n }\r\n } else {\r\n this.cartInfo = null;\r\n this.alert.danger(res.message);\r\n }\r\n this.cart.sendCartCountEvent();\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n updateCart() {\r\n // this.isLoadingService.add();\r\n const formData = new FormData();\r\n formData.append(\"items\", JSON.stringify(this.cartItemQty));\r\n\r\n const isBuyNow = this.pageFor === \"buy-now\" ? true : false;\r\n\r\n this.cart.updateCart(formData, isBuyNow, this.selectedAddress).subscribe(\r\n (data) => {\r\n const res = data as UpdateCartResponse;\r\n\r\n if (res.status === true) {\r\n if (res.data.myCart !== null) {\r\n this.cartInfo = new Cart().deserialize(res.data);\r\n this.cartItemQty = res.updateData as UpdateItemQtyData[];\r\n // this.eventEmitterService.getCartCount();\r\n this.cart.sendCartCountEvent();\r\n this.alert.success(res.message);\r\n } else {\r\n this.cartInfo = null;\r\n }\r\n } else {\r\n this.cartInfo = null;\r\n this.alert.danger(res.message);\r\n }\r\n\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n changeDate(recordId, $event, index = 0) {\r\n const pDate = new Date($event.value);\r\n const day =\r\n pDate.getDate() >= 1 && pDate.getDate() <= 9\r\n ? \"0\" + pDate.getDate()\r\n : pDate.getDate();\r\n const month = pDate.getMonth() + 1;\r\n const selectedMonth = month >= 1 && month <= 9 ? \"0\" + month : month;\r\n const selectedDate = pDate.getFullYear() + \"-\" + selectedMonth + \"-\" + day;\r\n this.isLoadingService.add();\r\n this.cart.updateDeliveryDate(recordId, selectedDate).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n if (typeof this.cartInfo.myCart[index] !== \"undefined\") {\r\n this.cartInfo.myCart[index].deliveryPlan = data[\r\n \"data\"\r\n ] as DeliveryPlan;\r\n }\r\n this.getCart();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n applyPromoCode(couponCode: string = null) {\r\n const promoCode =\r\n couponCode !== null ? couponCode : this.cartForm.value.promoCode;\r\n\r\n if (promoCode !== \"\") {\r\n this.isLoadingService.add();\r\n\r\n const isBuyNow = this.pageFor === \"buy-now\" ? true : false;\r\n\r\n this.cart\r\n .applyPromoCode(\r\n promoCode,\r\n isBuyNow,\r\n this.productId,\r\n this.selectedAddress\r\n )\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.cartInfo.myCartCalculation = data[\"data\"] as CartCalculation;\r\n this.selectedPromoCode = promoCode;\r\n this.hideCouponModal();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.cartForm.get(\"promoCode\").setValue(\"\");\r\n this.selectedPromoCode = \"\";\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.cartForm.get(\"promoCode\").setValue(\"\");\r\n this.selectedPromoCode = \"\";\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n } else {\r\n this.cartForm.get(\"promoCode\").setValue(\"\");\r\n this.selectedPromoCode = \"\";\r\n }\r\n }\r\n\r\n listPromoCode() {\r\n this.isLoadingService.add();\r\n this.cart.getCustomerCoupons().subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.couponLists = data[\"data\"] as Coupon[];\r\n this.couponLists.forEach((item, i) => {\r\n // this.couponLists[i].discountAmount = item.discountAmount.replace(\" \", \"\");\r\n this.couponLists[i].discountPercentage =\r\n item.discountPercentage.replace(\" \", \"\");\r\n this.couponLists[i].isPercentageApplied =\r\n item.discountPercentage == \"0%\" ? true : false;\r\n });\r\n this.isCouponModalShown = true;\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n removePromoCode() {\r\n this.isLoadingService.add();\r\n const isBuyNow = this.pageFor === \"buy-now\" ? true : false;\r\n this.cart\r\n .removePromoCode(isBuyNow, this.productId, this.selectedAddress)\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.cartInfo.myCartCalculation = data[\"data\"] as CartCalculation;\r\n this.cartForm.get(\"promoCode\").setValue(\"\");\r\n this.selectedPromoCode = \"\";\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.cartForm.get(\"promoCode\").setValue(\"\");\r\n this.selectedPromoCode = \"\";\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.cartForm.get(\"promoCode\").setValue(\"\");\r\n this.selectedPromoCode = \"\";\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n cartFormSubmit() {\r\n if (this.cartForm.get(\"note\").invalid) {\r\n return;\r\n }\r\n\r\n const authUrl = `${location.origin}/payment/success`;\r\n const declineUrl = `${location.origin}/payment/decline`;\r\n const cancelUrl = `${location.origin}/payment/cancel`;\r\n\r\n const isBuyNow = this.pageFor === \"cart\" ? false : true;\r\n\r\n const params = new HttpParams()\r\n .set(\"CustomerNotes\", this.cartForm.value.note)\r\n .set(\"DeliveryAddressId\", this.cartForm.value.addressId)\r\n .set(\"ProductId\", this.productId.toString())\r\n .set(\"IsBuyNow\", isBuyNow.toString());\r\n\r\n // const formData = new FormData();\r\n // formData.append('CustomerNotes', this.cartForm.value.note);\r\n // // formData.append('promoCodeText', this.cartForm.value.promoCode);\r\n // formData.append('DeliveryAddressId', this.cartForm.value.addressId);\r\n // formData.append('ProductId', this.productId.toString());\r\n // formData.append('IsBuyNow', isBuyNow.toString());\r\n // formData.append('return_auth', authUrl);\r\n // formData.append('return_decl', declineUrl);\r\n // formData.append('return_can', cancelUrl);\r\n\r\n if (this.cartForm.get(\"note\").invalid) {\r\n return;\r\n }\r\n this.isLoadingService.add();\r\n\r\n this.cart.checkOrderQty(params).subscribe(\r\n (data) => {\r\n const res = data as CheckOrderQtyResponse;\r\n if (res.status === true) {\r\n const OrderBaseId = data[\"data\"];\r\n\r\n const params1 = new HttpParams()\r\n .set(\"CustomerNotes\", this.cartForm.value.note)\r\n .set(\"DeliveryAddressId\", this.cartForm.value.addressId)\r\n .set(\"ProductId\", this.productId.toString())\r\n .set(\"OrderBaseDetailId\", OrderBaseId)\r\n .set(\"order_ref\", \"\")\r\n .set(\"IsBuyNow\", isBuyNow.toString());\r\n\r\n //formData.append('OrderBaseDetailId', OrderBaseId);\r\n\r\n this.cart.makePayment(params1).subscribe(\r\n (data) => {\r\n const res = data as PaymentResponse;\r\n if (res.status === true) {\r\n // const msg =\r\n // res.data?.error?.message !== null\r\n // ? res.data?.error?.message\r\n // : res.data?.error?.note;\r\n // if (msg !== null) {\r\n // this.alert.danger(msg);\r\n // this.isLoadingService.remove();\r\n // } else {\r\n // if (res.data.order.url) {\r\n if (res.data.url) {\r\n const od = {\r\n // _ref: res.data.order.ref,\r\n _ref: res.data.id,\r\n _n: this.cartForm.value.note,\r\n _order: OrderBaseId,\r\n _da: this.cartForm.value.addressId,\r\n _isBuyNow: isBuyNow,\r\n _pid: this.productId,\r\n };\r\n localStorage.setItem(\r\n \"_o\",\r\n encodeURIComponent(JSON.stringify(od))\r\n );\r\n // this.router.navigate([res.data.order.url]);\r\n window.location.href = res.data.url;\r\n } else {\r\n this.alert.danger(\"Something went wrong.\");\r\n this.isLoadingService.remove();\r\n }\r\n // }\r\n } else {\r\n this.alert.danger(res.message);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n } else {\r\n console.log(res.data);\r\n res.data.forEach((err) => {\r\n this.qtyError[err[\"key\"]] = err[\"value\"];\r\n });\r\n console.log(this.qtyError);\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n if (typeof err.error.data !== \"undefined\") {\r\n err.error.data.forEach((err) => {\r\n this.qtyError[err[\"key\"]] = err[\"value\"];\r\n });\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n return false;\r\n }\r\n\r\n showModal(): void {\r\n this.customer.getCustomerAddressese().subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.customerAddresses = data[\"data\"] as CustAddress[];\r\n this.customerAddresses.sort((a, b) =>\r\n a.isDefault === b.isDefault ? 0 : a.isDefault ? -1 : 1\r\n );\r\n console.log(this.customerAddresses);\r\n this.isModalShown = true;\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n onHidden(): void {\r\n this.isModalShown = false;\r\n }\r\n\r\n hideCouponModal(): void {\r\n this.couponModal.hide();\r\n }\r\n\r\n onCouponHidden(): void {\r\n this.isCouponModalShown = false;\r\n }\r\n\r\n changeAddress(addressId: number) {\r\n if (addressId > 0) {\r\n this.router.navigate([], {\r\n queryParams: {\r\n addId: addressId,\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n this.hideModal();\r\n this.selectedAddress = addressId;\r\n if (this.pageFor === \"cart\") {\r\n this.getCart();\r\n } else {\r\n this.getBuyNowData();\r\n }\r\n }\r\n }\r\n}\r\n\r\ninterface CartResponse {\r\n status_code: number;\r\n status: boolean;\r\n message: string;\r\n data: Cart;\r\n}\r\n\r\ninterface UpdateCartResponse {\r\n status_code: number;\r\n status: boolean;\r\n message: string;\r\n data: Cart;\r\n updateData: UpdateItemQtyData[];\r\n}\r\n\r\ninterface UpdateItemQtyData {\r\n itemQuantity: number;\r\n message: string;\r\n recordId: number;\r\n status: boolean;\r\n}\r\n\r\ninterface PaymentResponse {\r\n status_code: number;\r\n status: boolean;\r\n message: string;\r\n data: PaymentOrder;\r\n}\r\n\r\ninterface PaymentOrder {\r\n method: string;\r\n order: PaymentOrderObject;\r\n error: PaymentError;\r\n url: string;\r\n id: string;\r\n}\r\n\r\ninterface PaymentOrderObject {\r\n ref: string;\r\n url: string;\r\n}\r\n\r\ninterface PaymentError {\r\n details: string;\r\n message: string;\r\n note: string;\r\n}\r\n\r\ninterface CustAddress {\r\n addressId: number;\r\n addressLine: string;\r\n cityName: string;\r\n countryName: string;\r\n isDefault: boolean;\r\n latitude: number;\r\n longitude: number;\r\n location: string;\r\n stateName: string;\r\n type: string;\r\n zipCode: string;\r\n}\r\n\r\ninterface CheckOrderQtyResponse {\r\n status: boolean;\r\n status_code: number;\r\n message: string;\r\n data: any[];\r\n}\r\n\r\ninterface Coupon {\r\n categoryId: string;\r\n couponCode: string;\r\n couponId: number;\r\n couponText: string;\r\n discountAmount: string;\r\n discountPercentage: string;\r\n discountType: number;\r\n endDate: string;\r\n maxDiscountQuantity: number;\r\n minOrderAmount: number;\r\n startDate: string;\r\n storeName: string;\r\n targetAmount: number;\r\n isPercentageApplied: boolean;\r\n}\r\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n ActivatedRoute,\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n NavigationStart,\r\n Router,\r\n} from \"@angular/router\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { PageChangedEvent } from \"ngx-bootstrap/pagination\";\r\nimport { SiteGeneralService } from \"common/services/site/siteGeneral.service\";\r\nimport { SiteProductService } from \"common/services/site/siteProduct.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { ProductFilterModal } from \"common/_models/site/product-filter.modal\";\r\nimport { ProductList } from \"common/_models/site/product-list.modal\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { filter } from \"rxjs/operators\";\r\nimport { FixedElementService } from \"common/services/fixed-element.service\";\r\n\r\n@Component({\r\n selector: \"app-category\",\r\n templateUrl: \"./category.component.html\",\r\n styleUrls: [\"./category.component.css\"],\r\n})\r\nexport class CategoryComponent implements OnInit, OnDestroy {\r\n config = constEnv;\r\n\r\n categoryId = 0;\r\n subCategoryId: 0;\r\n\r\n filters: ProductFilterModal = null;\r\n productLists: ProductList[] = null;\r\n sortBy: SortByList[] = null;\r\n\r\n navSubcription;\r\n pageTitle = \"\";\r\n productDetailUrl = `${this.config.BASE_URL}/product/`;\r\n\r\n productParams = {\r\n SearchColumn: \"\",\r\n SearchValue: \"\",\r\n SortColumn: \"\",\r\n BrandIds: \"\",\r\n SubCategoryIds: \"\",\r\n AttributeValueIds: \"\",\r\n CategoryId: 0,\r\n PageNo: 0,\r\n PageSize: 12,\r\n } as ProductFilerSortParam;\r\n\r\n pagination: Paging;\r\n itemPerPage = 12;\r\n\r\n headerStyle = {};\r\n\r\n constructor(\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private general: SiteGeneralService,\r\n private product: SiteProductService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private fixedElementService: FixedElementService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Category\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.pagination = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n pageSize: this.itemPerPage,\r\n currentPage: 0,\r\n totalPages: 0,\r\n previousPage: \"\",\r\n nextPage: \"\",\r\n };\r\n\r\n this.fixedElementService.fixedElementHeight$.subscribe((height) => {\r\n const actualHeight = height + 150;\r\n this.headerStyle = { \"margin-top\": `${actualHeight}px` };\r\n });\r\n\r\n this.setCategoryAndSubCategory();\r\n\r\n this.navSubcription = this.router.events\r\n .pipe(\r\n filter(\r\n (event) =>\r\n event instanceof NavigationStart ||\r\n event instanceof NavigationEnd ||\r\n event instanceof NavigationCancel ||\r\n event instanceof NavigationError\r\n )\r\n )\r\n .subscribe((event) => {\r\n // If it's the start of navigation, `add()` a loading indicator\r\n if (event instanceof NavigationStart) {\r\n this.isLoadingService.add();\r\n return;\r\n }\r\n\r\n if (event instanceof NavigationEnd) {\r\n this.setCategoryAndSubCategory();\r\n\r\n // if ( event.url.indexOf( 'category' ) > -1 ) {\r\n this.getProductLists();\r\n // }\r\n }\r\n\r\n // Else navigation has ended, so `remove()` a loading indicator\r\n this.isLoadingService.remove();\r\n });\r\n\r\n this.route.queryParams.subscribe((param) => {\r\n this.productParams.SortColumn =\r\n typeof param.SortColumn !== \"undefined\" ? param.SortColumn : \"\";\r\n this.productParams.SortOrder =\r\n typeof param.SortOrder !== \"undefined\" ? param.SortOrder : \"\";\r\n this.productParams.SearchValue =\r\n typeof param.SearchValue !== \"undefined\" ? param.SearchValue : \"\";\r\n this.productParams.BrandIds =\r\n typeof param.BrandIds !== \"undefined\" ? param.BrandIds : \"\";\r\n // this.subCategoryId =\r\n // typeof param.SubCategoryIds !== \"undefined\"\r\n // ? param.SubCategoryIds\r\n // : this.subCategoryId;\r\n this.productParams.AttributeValueIds =\r\n typeof param.AttributeValueIds !== \"undefined\"\r\n ? param.AttributeValueIds\r\n : \"\";\r\n this.productParams.PageNo =\r\n typeof param.PageNo !== \"undefined\" ? param.PageNo : \"\";\r\n this.productParams.PageSize =\r\n typeof param.PageSize !== \"undefined\"\r\n ? param.PageSize\r\n : this.itemPerPage;\r\n });\r\n\r\n // this.setCategoryAndSubCategory();\r\n this.getProductLists();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.navSubcription.unsubscribe();\r\n }\r\n\r\n setCategoryAndSubCategory() {\r\n this.categoryId = this.route.snapshot.params.categoryId;\r\n const subCategoryId = this.route.snapshot.params.subCategoryId;\r\n this.subCategoryId =\r\n typeof subCategoryId !== \"undefined\" ? subCategoryId : \"\";\r\n\r\n if (this.categoryId <= 0) {\r\n this.router.navigate([this.config.BASE_URL]);\r\n }\r\n }\r\n\r\n getProductLists() {\r\n this.isLoadingService.add();\r\n\r\n this.productParams.CategoryId = this.categoryId;\r\n if (this.subCategoryId) {\r\n this.productParams.SubCategoryIds = this.subCategoryId;\r\n } else {\r\n this.route.queryParams.subscribe((param) => {\r\n const subCategoryIds =\r\n typeof param.SubCategoryIds !== \"undefined\"\r\n ? param.SubCategoryIds\r\n : \"\";\r\n\r\n const subCatIdsArray = subCategoryIds\r\n .split(\",\")\r\n .filter((item) => item != \"\");\r\n\r\n this.productParams.SubCategoryIds = subCatIdsArray.join(\",\");\r\n });\r\n }\r\n // this.productParams.SubCategoryIds = this.subCategoryId.toString();\r\n\r\n this.product.getProductList(this.productParams).subscribe(\r\n (data) => {\r\n const res = data as ProductListResponse;\r\n if (res.status === true) {\r\n this.productLists = res.data.productList.map((item) =>\r\n new ProductList().deserialize(item)\r\n );\r\n\r\n this.filters = res.data.filters as ProductFilterModal;\r\n\r\n this.sortBy = res.data.sortByList as SortByList[];\r\n // console.log(res.data);\r\n let CategoryName = \"\";\r\n if (res.data.categoryName !== \"\") {\r\n CategoryName = res.data.categoryName;\r\n }\r\n const subCatName =\r\n typeof res.data.subCategoryDetails[0] !== \"undefined\"\r\n ? res.data.subCategoryDetails[0].name\r\n : \"\";\r\n if (subCatName !== \"\") {\r\n this.pageTitle = subCatName;\r\n this.titleService.setMultipleTitle([\r\n subCatName,\r\n // CategoryName,\r\n // \"Category\",\r\n ]);\r\n } else if (CategoryName !== \"\") {\r\n this.pageTitle = CategoryName;\r\n this.titleService.setMultipleTitle([CategoryName]);\r\n }\r\n\r\n this.pagination = JSON.parse(res.paging) as Paging;\r\n } else {\r\n // this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n changeSortBy($event: any) {\r\n const selectedEle = $event.target;\r\n\r\n const sortOrder =\r\n selectedEle.options[selectedEle.selectedIndex].getAttribute(\"data-sort\");\r\n const sortCol = $event.target.value;\r\n\r\n if (sortCol !== \"\") {\r\n this.router.navigate([], {\r\n queryParams: {\r\n SortColumn: sortCol,\r\n SortOrder: sortOrder,\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n }\r\n\r\n pageChange(paging: PageChangedEvent) {\r\n paging.page = paging.page > 0 ? paging.page - 1 : 0;\r\n paging.itemsPerPage = paging.itemsPerPage\r\n ? paging.itemsPerPage\r\n : this.itemPerPage;\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n PageNo: paging.page,\r\n PageSize: paging.itemsPerPage,\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n}\r\n\r\ninterface ProductListResponse {\r\n status: boolean;\r\n message: string;\r\n data: ResponseData;\r\n paging: string;\r\n}\r\n\r\ninterface ResponseData {\r\n attributeValueIds: any;\r\n brandIds: any;\r\n subCategoryIds: any;\r\n productList: ProductList[];\r\n sortByList: SortByList[];\r\n categoryName: string;\r\n subCategoryDetails: any;\r\n filters: ProductFilterModal;\r\n}\r\n\r\nexport interface SortByList {\r\n sortColumn: string;\r\n sortOrder: string;\r\n sortOrderName: string;\r\n}\r\n\r\nexport interface ProductFilerSortParam {\r\n SearchColumn: string;\r\n SearchValue: string;\r\n SortColumn: string;\r\n SortOrder: string;\r\n BrandIds: string;\r\n SubCategoryIds: string;\r\n AttributeValueIds: string;\r\n CategoryId: number;\r\n\r\n PageNo: number;\r\n PageSize: number;\r\n TagId: string;\r\n}\r\n\r\nexport interface Paging {\r\n totalCount: number;\r\n totalRowsAfterFiltering: number;\r\n pageSize: number;\r\n currentPage: number;\r\n totalPages: number;\r\n previousPage: string;\r\n nextPage: string;\r\n}\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { ProductList } from \"common/_models/site/product-list.modal\";\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\n@Component({\r\n selector: \"app-product-list\",\r\n templateUrl: \"./product-list.component.html\",\r\n styleUrls: [\"./product-list.component.css\"],\r\n})\r\nexport class ProductListComponent implements OnInit {\r\n config = constEnv;\r\n\r\n productList: ProductList;\r\n @Input() set setProductList(value: ProductList) {\r\n this.productList = value;\r\n }\r\n\r\n showRating: boolean = true;\r\n @Input() set setShowRating(value: boolean) {\r\n this.showRating = value;\r\n }\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\n\r\nimport { ProductListComponent } from \"./product-list/product-list.component\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { StarRatingModule } from \"angular-star-rating\";\r\nimport { PipeModule } from \"common/_pipe/pipe.module\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\n\r\n@NgModule({\r\n declarations: [ProductListComponent],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n BrowserAnimationsModule,\r\n StarRatingModule.forRoot(),\r\n PipeModule,\r\n TranslateModule.forRoot(),\r\n MaterialModule,\r\n ],\r\n exports: [ProductListComponent],\r\n})\r\nexport class SharedComponentsModule {}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { SiteDesignerService } from \"common/services/site/siteDesigner.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { ProductList } from \"common/_models/site/product-list.modal\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { PageChangedEvent } from \"ngx-bootstrap/pagination\";\r\nimport { FixedElementService } from \"common/services/fixed-element.service\";\r\n\r\n@Component({\r\n selector: \"app-catalog-detail\",\r\n templateUrl: \"./catalog-detail.component.html\",\r\n styleUrls: [\"./catalog-detail.component.css\"],\r\n})\r\nexport class CatalogDetailComponent implements OnInit {\r\n config = constEnv;\r\n pageTitle = \"\";\r\n\r\n catalogData: DesignerPick;\r\n productLists: ProductList[] = null;\r\n productCount: number = 0;\r\n catalogId: number;\r\n\r\n showFiller = false;\r\n\r\n productDetailUrl = `${this.config.BASE_URL}/product/`;\r\n\r\n toggleReview: boolean = false;\r\n\r\n designerReviewsParams = {\r\n DesignerId: \"\",\r\n Rating: \"\",\r\n PageNo: 0,\r\n PageSize: 10,\r\n };\r\n designerReviews: any[] = [];\r\n\r\n pagination: Paging = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n pageSize: 10,\r\n currentPage: 0,\r\n totalPages: 0,\r\n previousPage: \"\",\r\n nextPage: \"\",\r\n };\r\n\r\n headerStyle = {};\r\n\r\n constructor(\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private designerService: SiteDesignerService,\r\n private fixedElementService: FixedElementService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"DesignerCatalog\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.fixedElementService.fixedElementHeight$.subscribe((height) => {\r\n const actualHeight = height + 150;\r\n this.headerStyle = { \"margin-top\": `${actualHeight}px` };\r\n });\r\n\r\n this.catalogId = this.route.snapshot.params.catalogId;\r\n this.catalogId = this.catalogId > 0 ? this.catalogId : 0;\r\n if (this.catalogId <= 0) {\r\n this.router.navigate([this.config.BASE_URL, \"designer-catalog\"]);\r\n }\r\n\r\n this.getCatalogDetail();\r\n }\r\n\r\n getCatalogDetail() {\r\n this.isLoadingService.add();\r\n this.designerService.getDesignerCatalogDetail(this.catalogId).subscribe(\r\n (data) => {\r\n const res = data as CatalogDetailResponse;\r\n if (res.status === true) {\r\n this.catalogData = res.data.catalogDetails as DesignerPick;\r\n this.productCount = res.data.productCount;\r\n this.productLists = res.data.productList.map((item) =>\r\n new ProductList().deserialize(item)\r\n );\r\n\r\n this.getDesignerReviews();\r\n window.scroll(0, 0);\r\n this.isLoadingService.remove();\r\n } else {\r\n this.alert.danger(res.message);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n toggleReviewSection() {\r\n this.toggleReview = !this.toggleReview;\r\n }\r\n\r\n getDesignerReviews() {\r\n this.isLoadingService.add();\r\n this.designerReviewsParams.DesignerId =\r\n this.catalogData.designerId.toString();\r\n this.designerService\r\n .getDesignerReviews(this.designerReviewsParams)\r\n .subscribe(\r\n (data) => {\r\n const res = data as any;\r\n if (res.status === true) {\r\n this.designerReviews = res.data || [];\r\n\r\n if (this.designerReviews) {\r\n this.pagination = JSON.parse(res.paging) as Paging;\r\n } else {\r\n this.designerReviews = [];\r\n }\r\n this.isLoadingService.remove();\r\n } else {\r\n // this.alert.danger(res.message);\r\n this.isLoadingService.remove();\r\n this.designerReviews = [];\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n pageChange(paging: PageChangedEvent) {\r\n paging.page = paging.page > 0 ? paging.page - 1 : 0;\r\n paging.itemsPerPage = paging.itemsPerPage\r\n ? paging.itemsPerPage\r\n : this.designerReviewsParams.PageSize;\r\n\r\n this.designerReviewsParams.PageSize = paging.itemsPerPage;\r\n this.designerReviewsParams.PageNo = paging.page;\r\n\r\n this.getDesignerReviews();\r\n }\r\n}\r\n\r\ninterface CatalogDetailResponse {\r\n status: boolean;\r\n message: string;\r\n data: CatalogData;\r\n}\r\n\r\ninterface CatalogData {\r\n catalogDetails: any;\r\n productCount: number;\r\n productList: ProductList[];\r\n}\r\n\r\ninterface DesignerPick {\r\n catalogId: number;\r\n catalogName: string;\r\n catalogDescription: string;\r\n spaceType: string;\r\n catalogCoverImage: string;\r\n designerId: number;\r\n designerName: string;\r\n designerProfileImage: string;\r\n likeCount: number;\r\n isLiked: boolean;\r\n experianceLevel: number;\r\n serviceFees: number;\r\n currencyCode: string;\r\n rate: number;\r\n total_rate_count: number;\r\n}\r\n\r\nexport interface Paging {\r\n totalCount: number;\r\n totalRowsAfterFiltering: number;\r\n pageSize: number;\r\n currentPage: number;\r\n totalPages: number;\r\n previousPage: string;\r\n nextPage: string;\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { RoleGuard } from \"common/_helpers/role.guard\";\r\nimport { CatalogDetailComponent } from \"./catalog-detail/catalog-detail.component\";\r\nimport { ListComponent } from \"./list/list.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"designer-catalog\",\r\n children: [\r\n { path: \":catalogId\", component: CatalogDetailComponent },\r\n { path: \"\", component: ListComponent },\r\n ],\r\n canActivate: [RoleGuard],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class DesignerCatalogRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\n\r\nimport { AlertModule } from \"@full-fledged/alerts\";\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { PaginationModule } from \"ngx-bootstrap/pagination\";\r\nimport { TemplateModule } from \"../template/template.module\";\r\nimport { StarRatingModule } from \"angular-star-rating\";\r\n\r\nimport { DesignerCatalogRoutingModule } from \"./designer-catalog-routing.module\";\r\nimport { ListComponent } from \"./list/list.component\";\r\nimport { CatalogDetailComponent } from \"./catalog-detail/catalog-detail.component\";\r\nimport { SharedComponentsModule } from \"../components/sharedComponents.module\";\r\nimport { PipeModule } from \"common/_pipe/pipe.module\";\r\n\r\n@NgModule({\r\n declarations: [ListComponent, CatalogDetailComponent],\r\n imports: [\r\n CommonModule,\r\n DesignerCatalogRoutingModule,\r\n AlertModule.forRoot({\r\n maxMessages: 1,\r\n timeout: 2500,\r\n positionX: \"right\",\r\n positionY: \"top\",\r\n }),\r\n ComponentModule,\r\n BrowserModule,\r\n RouterModule,\r\n BrowserAnimationsModule,\r\n TranslateModule.forRoot(),\r\n MaterialModule,\r\n TemplateModule,\r\n StarRatingModule,\r\n PaginationModule.forRoot(),\r\n SharedComponentsModule,\r\n PipeModule,\r\n StarRatingModule,\r\n ],\r\n})\r\nexport class DesignerCatalogModule {}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n ActivatedRoute,\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n NavigationStart,\r\n Router,\r\n} from \"@angular/router\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { SiteDesignerService } from \"common/services/site/siteDesigner.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { PageChangedEvent } from \"ngx-bootstrap/pagination\";\r\nimport { filter } from \"rxjs/operators\";\r\nimport { Paging } from \"../../category/category.component\";\r\nimport { FixedElementService } from \"common/services/fixed-element.service\";\r\n\r\n@Component({\r\n selector: \"app-list\",\r\n templateUrl: \"./list.component.html\",\r\n styleUrls: [\"./list.component.css\"],\r\n})\r\nexport class ListComponent implements OnInit {\r\n config = constEnv;\r\n pageTitle = \"\";\r\n pagination: Paging;\r\n itemPerPage = 12;\r\n\r\n lists: DesignerPick[] = null;\r\n navSubscription;\r\n\r\n params = {\r\n PageNo: 0,\r\n PageSize: this.itemPerPage,\r\n };\r\n\r\n designerCatalogUrl = this.config.BASE_URL + \"/designer-catalog/\";\r\n\r\n headerStyle = {};\r\n\r\n constructor(\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private designerCatalogService: SiteDesignerService,\r\n private fixedElementService: FixedElementService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"DesignerCatalog\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.fixedElementService.fixedElementHeight$.subscribe((height) => {\r\n const actualHeight = height + 150;\r\n this.headerStyle = { \"margin-top\": `${actualHeight}px` };\r\n });\r\n\r\n this.pagination = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n pageSize: this.itemPerPage,\r\n currentPage: 0,\r\n totalPages: 0,\r\n previousPage: \"\",\r\n nextPage: \"\",\r\n };\r\n\r\n this.navSubscription = this.router.events\r\n .pipe(\r\n filter(\r\n (event) =>\r\n event instanceof NavigationStart ||\r\n event instanceof NavigationEnd ||\r\n event instanceof NavigationCancel ||\r\n event instanceof NavigationError\r\n )\r\n )\r\n .subscribe((event) => {\r\n // If it's the start of navigation, `add()` a loading indicator\r\n if (event instanceof NavigationStart) {\r\n this.isLoadingService.add();\r\n return;\r\n }\r\n\r\n if (event instanceof NavigationEnd) {\r\n this.getDesignerCatalogLists();\r\n }\r\n\r\n // Else navigation has ended, so `remove()` a loading indicator\r\n this.isLoadingService.remove();\r\n });\r\n\r\n this.route.queryParams.subscribe((param) => {\r\n this.params.PageNo =\r\n typeof param.PageNo !== \"undefined\" ? param.PageNo : \"\";\r\n this.params.PageSize =\r\n typeof param.PageSize !== \"undefined\"\r\n ? param.PageSize\r\n : this.itemPerPage;\r\n });\r\n\r\n this.getDesignerCatalogLists();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.navSubscription.unsubscribe();\r\n }\r\n\r\n getDesignerCatalogLists() {\r\n this.isLoadingService.add();\r\n\r\n this.designerCatalogService.getDesignerCatalogList(this.params).subscribe(\r\n (data) => {\r\n let res = data as DesignerPicksResponse;\r\n if (res.status === true) {\r\n this.lists = res.data as DesignerPick[];\r\n\r\n this.pagination = JSON.parse(res.paging) as Paging;\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n }\r\n this.lists = [];\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n pageChange(paging: PageChangedEvent) {\r\n paging.page = paging.page > 0 ? paging.page - 1 : 0;\r\n paging.itemsPerPage = paging.itemsPerPage\r\n ? paging.itemsPerPage\r\n : this.itemPerPage;\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n PageNo: paging.page,\r\n PageSize: paging.itemsPerPage,\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n}\r\n\r\ninterface DesignerPicksResponse {\r\n status: boolean;\r\n message: string;\r\n data: DesignerPick[];\r\n paging: string;\r\n}\r\n\r\ninterface DesignerPick {\r\n catalogId: number;\r\n catalogName: string;\r\n catalogDescription: string;\r\n spaceType: string;\r\n catalogCoverImage: string;\r\n designerId: number;\r\n designerName: string;\r\n designerProfileImage: string;\r\n likeCount: number;\r\n isLiked: boolean;\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { RoleGuard } from \"common/_helpers/role.guard\";\r\n\r\nimport { HomeComponent } from \"./home/home.component\";\r\nimport { CategoryComponent } from \"./category/category.component\";\r\nimport { ProductDetailComponent } from \"./product-detail/product-detail.component\";\r\nimport { CartComponent } from \"./cart/cart.component\";\r\nimport { HotDealComponent } from \"./hot-deal/hot-deal.component\";\r\nimport { LastMinuteDealComponent } from \"./last-minute-deal/last-minute-deal.component\";\r\nimport { ProductsComponent } from \"./products/products.component\";\r\n\r\nconst baseUrl = constEnv.BASE_URL;\r\n\r\nconst routes: Routes = [\r\n { path: \"home\", component: HomeComponent, canActivate: [RoleGuard] },\r\n {\r\n path: \"category\",\r\n children: [\r\n {\r\n path: \":categoryId\",\r\n children: [\r\n { path: \":subCategoryId\", component: CategoryComponent },\r\n { path: \"\", component: CategoryComponent },\r\n ],\r\n },\r\n { path: \"\", redirectTo: \"/home\", pathMatch: \"full\" },\r\n ],\r\n canActivate: [RoleGuard],\r\n },\r\n {\r\n path: \"product\",\r\n children: [\r\n {\r\n path: \":productId\",\r\n children: [\r\n { path: \":variationId\", component: ProductDetailComponent },\r\n { path: \"\", redirectTo: \"/home\", pathMatch: \"full\" },\r\n ],\r\n },\r\n { path: \"\", redirectTo: \"/home\", pathMatch: \"full\" },\r\n ],\r\n canActivate: [RoleGuard],\r\n },\r\n { path: \"hot-deals\", component: HotDealComponent, canActivate: [RoleGuard] },\r\n {\r\n path: \"last-minute-deals\",\r\n component: LastMinuteDealComponent,\r\n canActivate: [RoleGuard],\r\n },\r\n {\r\n path: \"cart\",\r\n component: CartComponent,\r\n canActivate: [RoleGuard],\r\n data: { for: \"cart\" },\r\n },\r\n {\r\n path: \"buy-now\",\r\n component: CartComponent,\r\n canActivate: [RoleGuard],\r\n data: { for: \"buy-now\" },\r\n },\r\n {\r\n path: \"products\",\r\n children: [\r\n {\r\n path: \":type\",\r\n component: ProductsComponent,\r\n },\r\n { path: \"\", component: ProductsComponent },\r\n ],\r\n canActivate: [RoleGuard],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class ECommerceRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { AlertModule } from \"@full-fledged/alerts\";\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { Ng2TelInputModule } from \"ng2-tel-input\";\r\nimport { NgxIntlTelInputModule } from \"ngx-intl-tel-input\";\r\n\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { PaginationModule } from \"ngx-bootstrap/pagination\";\r\n\r\nimport { ECommerceRoutingModule } from \"./e-commerce-routing.module\";\r\n\r\nimport { TemplateModule } from \"./template/template.module\";\r\nimport { HomeComponent } from \"./home/home.component\";\r\nimport { NgxGalleryModule } from \"ngx-gallery-9\";\r\nimport { StarRatingModule } from \"angular-star-rating\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\n\r\nimport { DesignerCatalogModule } from \"./designer-catalog/designer-catalog.module\";\r\n\r\nimport { CarouselModule } from \"ngx-owl-carousel-o\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { CategoryComponent } from \"./category/category.component\";\r\nimport { ProductDetailComponent } from \"./product-detail/product-detail.component\";\r\nimport { PagesModule } from \"./pages/pages.module\";\r\nimport { PaymentModule } from \"./payment/payment.module\";\r\nimport { EventEmitterService } from \"common/services/event-emitter.service\";\r\nimport { CartComponent } from \"./cart/cart.component\";\r\nimport { HotDealComponent } from \"./hot-deal/hot-deal.component\";\r\nimport { LastMinuteDealComponent } from \"./last-minute-deal/last-minute-deal.component\";\r\nimport { SharedComponentsModule } from \"./components/sharedComponents.module\";\r\nimport { PipeModule } from \"common/_pipe/pipe.module\";\r\nimport { ProductsComponent } from \"./products/products.component\";\r\nimport { ProductViewComponent } from './product-view/product-view.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n HomeComponent,\r\n CategoryComponent,\r\n ProductDetailComponent,\r\n CartComponent,\r\n HotDealComponent,\r\n LastMinuteDealComponent,\r\n ProductsComponent,\r\n ProductViewComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n PagesModule,\r\n PaymentModule,\r\n ECommerceRoutingModule,\r\n AlertModule.forRoot({\r\n maxMessages: 1,\r\n timeout: 2500,\r\n positionX: \"right\",\r\n positionY: \"top\",\r\n }),\r\n ComponentModule,\r\n BrowserModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Ng2TelInputModule,\r\n NgxIntlTelInputModule,\r\n RouterModule,\r\n BrowserAnimationsModule,\r\n CarouselModule,\r\n NgxGalleryModule,\r\n TranslateModule.forRoot(),\r\n ModalModule.forRoot(),\r\n StarRatingModule.forRoot(),\r\n MaterialModule,\r\n TemplateModule,\r\n DesignerCatalogModule,\r\n PaginationModule.forRoot(),\r\n SharedComponentsModule,\r\n PipeModule,\r\n ],\r\n providers: [EventEmitterService],\r\n})\r\nexport class ECommerceModule {}\r\n","import {\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n OnInit,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { SiteGeneralService } from \"common/services/site/siteGeneral.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { HomeBanner } from \"common/_models/site/home-banner.modal\";\r\nimport { Home } from \"common/_models/site/Home.modal\";\r\nimport { ProductList } from \"common/_models/site/product-list.modal\";\r\nimport { SubCategoryModal } from \"common/_models/site/sub-category.modal\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { OwlOptions } from \"ngx-owl-carousel-o\";\r\nimport { SiteProductService } from \"common/services/site/siteProduct.service\";\r\nimport { ProductFilerSortParam } from \"../category/category.component\";\r\nimport { ProductFilterModal } from \"common/_models/site/product-filter.modal\";\r\nimport {\r\n animate,\r\n state,\r\n style,\r\n transition,\r\n trigger,\r\n} from \"@angular/animations\";\r\nimport { FixedElementService } from \"common/services/fixed-element.service\";\r\n\r\n@Component({\r\n selector: \"app-home\",\r\n templateUrl: \"./home.component.html\",\r\n styleUrls: [\"./home.component.css\"],\r\n})\r\nexport class HomeComponent implements OnInit {\r\n config = constEnv;\r\n\r\n customOptions: OwlOptions = {\r\n loop: true,\r\n mouseDrag: false,\r\n touchDrag: false,\r\n pullDrag: false,\r\n dots: false,\r\n margin: 15,\r\n autoplay: false,\r\n rtl: false,\r\n navSpeed: 700,\r\n navText: [\r\n \"\",\r\n \"\",\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 500: {\r\n items: 2,\r\n },\r\n 1000: {\r\n items: 4,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n productSlide: OwlOptions = {\r\n loop: true,\r\n mouseDrag: false,\r\n touchDrag: false,\r\n pullDrag: false,\r\n dots: false,\r\n margin: 15,\r\n rtl: false,\r\n autoplay: true,\r\n navText: [\r\n \"\",\r\n \"\",\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 500: {\r\n items: 2,\r\n },\r\n 1000: {\r\n items: 4,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n hotDealSlider: OwlOptions = this.productSlide;\r\n newArrivalSlider: OwlOptions = this.productSlide;\r\n bestSellerSlider: OwlOptions = this.productSlide;\r\n\r\n bannerSliders: HomeBanner[] = null;\r\n popularCategories: SubCategoryModal[] = null;\r\n newArrivals: ProductList[] = null;\r\n bestSellers: ProductList[] = null;\r\n hotDeals: ProductList[] = null;\r\n\r\n hotDealsProductParams = {\r\n SearchColumn: \"\",\r\n SearchValue: \"\",\r\n SortColumn: \"\",\r\n BrandIds: \"\",\r\n SubCategoryIds: \"\",\r\n AttributeValueIds: \"\",\r\n CategoryId: 0,\r\n PageNo: 0,\r\n PageSize: 10,\r\n } as ProductFilerSortParam;\r\n\r\n headerStyle = {};\r\n public innerWidth: any;\r\n\r\n @ViewChild(\"videoPlayer\") videoPlayer!: ElementRef;\r\n\r\n constructor(\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private general: SiteGeneralService,\r\n private product: SiteProductService,\r\n private ls: LanguageService,\r\n private fixedElementService: FixedElementService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Home\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.innerWidth = window.innerWidth;\r\n\r\n if (this.innerWidth >= 320 && this.innerWidth <= 500) {\r\n this.fixedElementService.fixedElementHeight$.subscribe((height) => {\r\n const actualHeight = height + 110;\r\n this.headerStyle = { \"margin-top\": `${actualHeight}px` };\r\n });\r\n } else {\r\n this.headerStyle = {};\r\n }\r\n\r\n this.customOptions.rtl =\r\n this.ls.getCurrentLanguageDrirection() === \"rtl\" ? true : false;\r\n this.productSlide.rtl =\r\n this.ls.getCurrentLanguageDrirection() === \"rtl\" ? true : false;\r\n\r\n this.getHomeSections();\r\n this.getHotDeals();\r\n }\r\n\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n onResize(event) {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const video = this.videoPlayer.nativeElement;\r\n\r\n // Ensure the video is muted and plays automatically\r\n video.muted = true;\r\n video.autoplay = true;\r\n\r\n // Attempt to play the video\r\n video.play().catch((error) => {\r\n console.error(\"Autoplay failed:\", error);\r\n });\r\n }\r\n\r\n getHomeSections() {\r\n this.isLoadingService.add();\r\n this.general.getHome().subscribe(\r\n (data) => {\r\n const res = data as HomeSectionResponse;\r\n if (res.status === true) {\r\n this.bannerSliders = res.data.banners.map((item) =>\r\n new HomeBanner().deserialize(item)\r\n );\r\n this.popularCategories = res.data.subCategories.map((cat) =>\r\n new SubCategoryModal().deserialize(cat)\r\n );\r\n this.newArrivals = res.data.productList.map((list) =>\r\n new ProductList().deserialize(list)\r\n );\r\n this.bestSellers = res.data.bestSellerProductList.map((list) =>\r\n new ProductList().deserialize(list)\r\n );\r\n\r\n if (\r\n this.newArrivalSlider &&\r\n this.newArrivals.length < 4 &&\r\n !this.isMobileDevice()\r\n ) {\r\n this.newArrivalSlider.loop = false;\r\n this.newArrivalSlider.autoplay = false;\r\n }\r\n\r\n if (\r\n this.bestSellerSlider &&\r\n this.bestSellers.length < 4 &&\r\n !this.isMobileDevice()\r\n ) {\r\n this.bestSellerSlider.loop = false;\r\n this.bestSellerSlider.autoplay = false;\r\n }\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n getHotDeals() {\r\n this.product.getHotDealList(this.hotDealsProductParams).subscribe(\r\n (data) => {\r\n const res = data as HotDealListResponse;\r\n if (res.status === true) {\r\n if (res.data.productList !== null) {\r\n this.hotDeals = res.data.productList.map((item) =>\r\n new ProductList().deserialize(item)\r\n );\r\n\r\n if (\r\n this.hotDealSlider &&\r\n this.hotDeals.length < 4 &&\r\n !this.isMobileDevice()\r\n ) {\r\n this.hotDealSlider.loop = false;\r\n this.hotDealSlider.autoplay = false;\r\n }\r\n } else {\r\n this.hotDeals = [];\r\n }\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n }\r\n this.hotDeals = [];\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n isMobileDevice() {\r\n if (\r\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\r\n navigator.userAgent\r\n )\r\n ) {\r\n return true;\r\n } else {\r\n // false for not mobile device\r\n return false;\r\n }\r\n }\r\n\r\n getCatImage(catId: number) {\r\n let imageName = \"\";\r\n switch (catId) {\r\n case 3:\r\n // dining table\r\n imageName = \"dining-table.jpg\";\r\n break;\r\n\r\n case 9:\r\n // bench\r\n imageName = \"bench.jpg\";\r\n break;\r\n\r\n case 5:\r\n // sofa bed\r\n imageName = \"sofabed.jpg\";\r\n break;\r\n\r\n case 11:\r\n // cabinets\r\n imageName = \"cabinets.jpg\";\r\n break;\r\n\r\n case 10:\r\n // bookcase\r\n imageName = \"bookcase.jpg\";\r\n break;\r\n\r\n case 6:\r\n // bean bag\r\n imageName = \"beanbag.jpg\";\r\n break;\r\n\r\n case 2:\r\n // console\r\n imageName = \"console.jpg\";\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n return imageName ? `${this.config.IMAGE_PATH}/assets/${imageName}` : \"\";\r\n }\r\n}\r\n\r\ninterface HomeSectionResponse {\r\n status: boolean;\r\n message: string;\r\n data: Home;\r\n paging: string;\r\n}\r\n\r\ninterface HotDealListResponse {\r\n status: boolean;\r\n message: string;\r\n data: ResponseData;\r\n paging: string;\r\n}\r\n\r\ninterface ResponseData {\r\n bannerList: any[];\r\n productList: ProductList[];\r\n totalProductCount: number;\r\n sortByList: any[];\r\n subCategoryIds: string;\r\n brandIds: string;\r\n attributeValueIds: string;\r\n themeIds: string;\r\n colorPaletteIds: string;\r\n categoryName: string;\r\n subCategoryDetails: any[];\r\n storeDetails: string;\r\n filters: ProductFilterModal;\r\n minPrice: number;\r\n maxPrice: number;\r\n}\r\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n ActivatedRoute,\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n NavigationStart,\r\n Router,\r\n} from \"@angular/router\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { PageChangedEvent } from \"ngx-bootstrap/pagination\";\r\nimport { SiteGeneralService } from \"common/services/site/siteGeneral.service\";\r\nimport { SiteProductService } from \"common/services/site/siteProduct.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { ProductFilterModal } from \"common/_models/site/product-filter.modal\";\r\nimport { ProductList } from \"common/_models/site/product-list.modal\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { filter } from \"rxjs/operators\";\r\nimport {\r\n Paging,\r\n ProductFilerSortParam,\r\n SortByList,\r\n} from \"../category/category.component\";\r\nimport { FilterBrandModal } from \"common/_models/site/filter/filter-brand.modal\";\r\nimport { FilterValueModal } from \"common/_models/site/filter/filter-value.modal\";\r\nimport { FilterAttributeModal } from \"common/_models/site/filter/filter-attribute.modal\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { FixedElementService } from \"common/services/fixed-element.service\";\r\n\r\n@Component({\r\n selector: \"app-hot-deal\",\r\n templateUrl: \"./hot-deal.component.html\",\r\n styleUrls: [\"./hot-deal.component.css\"],\r\n})\r\nexport class HotDealComponent implements OnInit, OnDestroy {\r\n config = constEnv;\r\n filters: ProductFilterModal = null;\r\n productLists: ProductList[] = null;\r\n sortBy: SortByList[] = null;\r\n\r\n navSubcription;\r\n pageTitle = \"\";\r\n productDetailUrl = `${this.config.BASE_URL}/product/`;\r\n\r\n pagination: Paging;\r\n itemPerPage = 12;\r\n\r\n brands: FilterBrandModal[] = null;\r\n subCategories: FilterValueModal[] = null;\r\n attributes: FilterAttributeModal[] = null;\r\n\r\n searchForm: FormGroup;\r\n\r\n selectedBrands = [];\r\n selectedSubCategoryIds = [];\r\n selectedAttributeValues = [];\r\n\r\n productParams = {\r\n SearchColumn: \"\",\r\n SearchValue: \"\",\r\n SortColumn: \"\",\r\n BrandIds: \"\",\r\n SubCategoryIds: \"\",\r\n AttributeValueIds: \"\",\r\n CategoryId: 0,\r\n PageNo: 0,\r\n PageSize: 12,\r\n } as ProductFilerSortParam;\r\n\r\n headerStyle = {};\r\n\r\n constructor(\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private general: SiteGeneralService,\r\n private product: SiteProductService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private fixedElementService: FixedElementService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"HotDeals\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.fixedElementService.fixedElementHeight$.subscribe((height) => {\r\n const actualHeight = height + 150;\r\n this.headerStyle = { \"margin-top\": `${actualHeight}px` };\r\n });\r\n\r\n this.pagination = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n pageSize: this.itemPerPage,\r\n currentPage: 0,\r\n totalPages: 0,\r\n previousPage: \"\",\r\n nextPage: \"\",\r\n };\r\n\r\n this.createSearchForm();\r\n this.selectedBrands = [];\r\n this.selectedSubCategoryIds = [];\r\n\r\n this.navSubcription = this.router.events\r\n .pipe(\r\n filter(\r\n (event) =>\r\n event instanceof NavigationStart ||\r\n event instanceof NavigationEnd ||\r\n event instanceof NavigationCancel ||\r\n event instanceof NavigationError\r\n )\r\n )\r\n .subscribe((event) => {\r\n // If it's the start of navigation, `add()` a loading indicator\r\n if (event instanceof NavigationStart) {\r\n this.isLoadingService.add();\r\n return;\r\n }\r\n\r\n if (event instanceof NavigationEnd) {\r\n this.getProductLists();\r\n }\r\n\r\n // Else navigation has ended, so `remove()` a loading indicator\r\n this.isLoadingService.remove();\r\n });\r\n\r\n this.route.queryParams.subscribe((param) => {\r\n this.productParams.CategoryId =\r\n typeof param.CategoryId !== \"undefined\" ? param.CategoryId : \"\";\r\n this.productParams.SubCategoryIds =\r\n typeof param.SubCategoryIds !== \"undefined\" ? param.SubCategoryIds : \"\";\r\n this.productParams.SortColumn =\r\n typeof param.SortColumn !== \"undefined\" ? param.SortColumn : \"\";\r\n this.productParams.SortOrder =\r\n typeof param.SortOrder !== \"undefined\" ? param.SortOrder : \"\";\r\n this.productParams.SearchValue =\r\n typeof param.SearchValue !== \"undefined\" ? param.SearchValue : \"\";\r\n this.productParams.BrandIds =\r\n typeof param.BrandIds !== \"undefined\" ? param.BrandIds : \"\";\r\n this.productParams.AttributeValueIds =\r\n typeof param.AttributeValueIds !== \"undefined\"\r\n ? param.AttributeValueIds\r\n : \"\";\r\n this.productParams.PageNo =\r\n typeof param.PageNo !== \"undefined\" ? param.PageNo : \"\";\r\n this.productParams.PageSize =\r\n typeof param.PageSize !== \"undefined\"\r\n ? param.PageSize\r\n : this.itemPerPage;\r\n });\r\n\r\n this.getProductLists();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.navSubcription.unsubscribe();\r\n }\r\n\r\n getProductLists() {\r\n this.isLoadingService.add();\r\n\r\n this.product.getHotDealList(this.productParams).subscribe(\r\n (data) => {\r\n const res = data as HotDealListResponse;\r\n if (res.status === true) {\r\n if (res.data.productList !== null) {\r\n this.productLists = res.data.productList.map((item) =>\r\n new ProductList().deserialize(item)\r\n );\r\n } else {\r\n this.productLists = [];\r\n }\r\n this.sortBy = res.data.sortByList as SortByList[];\r\n\r\n this.pagination = JSON.parse(res.paging) as Paging;\r\n\r\n this.filters = new ProductFilterModal().deserialize(res.data.filters);\r\n\r\n this.brands = this.filters.brands;\r\n this.subCategories = this.filters.categories;\r\n this.attributes = this.filters.attributes;\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n }\r\n this.productLists = [];\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n changeSortBy($event: any) {\r\n const selectedEle = $event.target;\r\n\r\n const sortOrder =\r\n selectedEle.options[selectedEle.selectedIndex].getAttribute(\"data-sort\");\r\n const sortCol = $event.target.value;\r\n\r\n if (sortCol !== \"\") {\r\n this.router.navigate([], {\r\n queryParams: {\r\n SortColumn: sortCol,\r\n SortOrder: sortOrder,\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n }\r\n\r\n pageChange(paging: PageChangedEvent) {\r\n paging.page = paging.page > 0 ? paging.page - 1 : 0;\r\n paging.itemsPerPage = paging.itemsPerPage\r\n ? paging.itemsPerPage\r\n : this.itemPerPage;\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n PageNo: paging.page,\r\n PageSize: paging.itemsPerPage,\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n\r\n createSearchForm() {\r\n this.searchForm = this.fb.group({\r\n SearchValue: [\"\"],\r\n });\r\n }\r\n\r\n submitSearchValue() {\r\n const SearchValue = this.searchForm.value.SearchValue;\r\n // if(SearchValue !== '') {\r\n this.router.navigate([], {\r\n queryParams: {\r\n SearchValue: SearchValue,\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n // }\r\n }\r\n\r\n brandChecked($event) {\r\n if ($event.target.checked) {\r\n this.selectedBrands.push($event.target.value);\r\n } else {\r\n let removeIndex = this.selectedBrands.findIndex(\r\n (itm) => itm === $event.target.value\r\n );\r\n if (removeIndex !== -1) this.selectedBrands.splice(removeIndex, 1);\r\n }\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n BrandIds: this.selectedBrands.join(\",\"),\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n\r\n subCatChecked($event) {\r\n if ($event.target.checked) {\r\n let findIndex = this.selectedSubCategoryIds.findIndex(\r\n (itm) => itm === $event.target.value\r\n );\r\n if (findIndex === -1) {\r\n this.selectedSubCategoryIds.push($event.target.value);\r\n }\r\n } else {\r\n let removeIndex = this.selectedSubCategoryIds.findIndex(\r\n (itm) => itm === $event.target.value\r\n );\r\n if (removeIndex !== -1)\r\n this.selectedSubCategoryIds.splice(removeIndex, 1);\r\n }\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n SubCategoryIds: this.selectedSubCategoryIds.join(\",\"),\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n\r\n attributeChecked(attrId, $event) {\r\n if ($event.target.checked) {\r\n this.selectedAttributeValues.push($event.target.value);\r\n } else {\r\n let removeIndex = this.selectedAttributeValues.findIndex(\r\n (itm) => itm === $event.target.value\r\n );\r\n if (removeIndex !== -1)\r\n this.selectedAttributeValues.splice(removeIndex, 1);\r\n }\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n AttributeValueIds: this.selectedAttributeValues.join(\",\"),\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n}\r\n\r\ninterface HotDealListResponse {\r\n status: boolean;\r\n message: string;\r\n data: ResponseData;\r\n paging: string;\r\n}\r\n\r\ninterface ResponseData {\r\n bannerList: any[];\r\n productList: ProductList[];\r\n totalProductCount: number;\r\n sortByList: any[];\r\n subCategoryIds: string;\r\n brandIds: string;\r\n attributeValueIds: string;\r\n themeIds: string;\r\n colorPaletteIds: string;\r\n categoryName: string;\r\n subCategoryDetails: any[];\r\n storeDetails: string;\r\n filters: ProductFilterModal;\r\n minPrice: number;\r\n maxPrice: number;\r\n}\r\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n ActivatedRoute,\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n NavigationStart,\r\n Router,\r\n} from \"@angular/router\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { PageChangedEvent } from \"ngx-bootstrap/pagination\";\r\nimport { SiteGeneralService } from \"common/services/site/siteGeneral.service\";\r\nimport { SiteProductService } from \"common/services/site/siteProduct.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { ProductFilterModal } from \"common/_models/site/product-filter.modal\";\r\nimport { ProductList } from \"common/_models/site/product-list.modal\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { filter } from \"rxjs/operators\";\r\nimport {\r\n Paging,\r\n ProductFilerSortParam,\r\n SortByList,\r\n} from \"../category/category.component\";\r\nimport { FilterBrandModal } from \"common/_models/site/filter/filter-brand.modal\";\r\nimport { FilterValueModal } from \"common/_models/site/filter/filter-value.modal\";\r\nimport { FilterAttributeModal } from \"common/_models/site/filter/filter-attribute.modal\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { FixedElementService } from \"common/services/fixed-element.service\";\r\n\r\n@Component({\r\n selector: \"app-last-minute-deal\",\r\n templateUrl: \"./last-minute-deal.component.html\",\r\n styleUrls: [\"./last-minute-deal.component.css\"],\r\n})\r\nexport class LastMinuteDealComponent implements OnInit, OnDestroy {\r\n config = constEnv;\r\n filters: ProductFilterModal = null;\r\n productLists: ProductList[] = null;\r\n sortBy: SortByList[] = null;\r\n\r\n navSubcription;\r\n pageTitle = \"\";\r\n productDetailUrl = `${this.config.BASE_URL}/product/`;\r\n\r\n pagination: Paging;\r\n itemPerPage = 12;\r\n\r\n brands: FilterBrandModal[] = null;\r\n subCategories: FilterValueModal[] = null;\r\n attributes: FilterAttributeModal[] = null;\r\n\r\n searchForm: FormGroup;\r\n\r\n selectedBrands = [];\r\n selectedSubCategoryIds = [];\r\n selectedAttributeValues = [];\r\n\r\n productParams = {\r\n SearchColumn: \"\",\r\n SearchValue: \"\",\r\n SortColumn: \"\",\r\n BrandIds: \"\",\r\n SubCategoryIds: \"\",\r\n AttributeValueIds: \"\",\r\n CategoryId: 0,\r\n PageNo: 0,\r\n PageSize: 12,\r\n } as ProductFilerSortParam;\r\n\r\n headerStyle = {};\r\n\r\n constructor(\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private general: SiteGeneralService,\r\n private product: SiteProductService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private fixedElementService: FixedElementService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"LastMinuteDeals\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.fixedElementService.fixedElementHeight$.subscribe((height) => {\r\n const actualHeight = height + 150;\r\n this.headerStyle = { \"margin-top\": `${actualHeight}px` };\r\n });\r\n\r\n this.pagination = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n pageSize: this.itemPerPage,\r\n currentPage: 0,\r\n totalPages: 0,\r\n previousPage: \"\",\r\n nextPage: \"\",\r\n };\r\n\r\n this.createSearchForm();\r\n this.selectedBrands = [];\r\n this.selectedSubCategoryIds = [];\r\n\r\n this.navSubcription = this.router.events\r\n .pipe(\r\n filter(\r\n (event) =>\r\n event instanceof NavigationStart ||\r\n event instanceof NavigationEnd ||\r\n event instanceof NavigationCancel ||\r\n event instanceof NavigationError\r\n )\r\n )\r\n .subscribe((event) => {\r\n // If it's the start of navigation, `add()` a loading indicator\r\n if (event instanceof NavigationStart) {\r\n this.isLoadingService.add();\r\n return;\r\n }\r\n\r\n if (event instanceof NavigationEnd) {\r\n this.getProductLists();\r\n }\r\n\r\n // Else navigation has ended, so `remove()` a loading indicator\r\n this.isLoadingService.remove();\r\n });\r\n\r\n this.route.queryParams.subscribe((param) => {\r\n this.productParams.CategoryId =\r\n typeof param.CategoryId !== \"undefined\" ? param.CategoryId : \"\";\r\n this.productParams.SubCategoryIds =\r\n typeof param.SubCategoryIds !== \"undefined\" ? param.SubCategoryIds : \"\";\r\n this.productParams.SortColumn =\r\n typeof param.SortColumn !== \"undefined\" ? param.SortColumn : \"\";\r\n this.productParams.SortOrder =\r\n typeof param.SortOrder !== \"undefined\" ? param.SortOrder : \"\";\r\n this.productParams.SearchValue =\r\n typeof param.SearchValue !== \"undefined\" ? param.SearchValue : \"\";\r\n this.productParams.BrandIds =\r\n typeof param.BrandIds !== \"undefined\" ? param.BrandIds : \"\";\r\n this.productParams.AttributeValueIds =\r\n typeof param.AttributeValueIds !== \"undefined\"\r\n ? param.AttributeValueIds\r\n : \"\";\r\n this.productParams.PageNo =\r\n typeof param.PageNo !== \"undefined\" ? param.PageNo : \"\";\r\n this.productParams.PageSize =\r\n typeof param.PageSize !== \"undefined\"\r\n ? param.PageSize\r\n : this.itemPerPage;\r\n });\r\n\r\n this.getProductLists();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.navSubcription.unsubscribe();\r\n }\r\n\r\n getProductLists() {\r\n this.isLoadingService.add();\r\n\r\n this.product.getLastMinuteDealList(this.productParams).subscribe(\r\n (data) => {\r\n const res = data as LMDResponse;\r\n if (res.status === true) {\r\n if (res.data.productList !== null) {\r\n this.productLists = res.data.productList.map((item) =>\r\n new ProductList().deserialize(item)\r\n );\r\n } else {\r\n this.productLists = [];\r\n }\r\n this.sortBy = res.data.sortByList as SortByList[];\r\n\r\n this.pagination = JSON.parse(res.paging) as Paging;\r\n\r\n this.filters = new ProductFilterModal().deserialize(res.data.filters);\r\n\r\n this.brands = this.filters.brands;\r\n this.subCategories = this.filters.categories;\r\n this.attributes = this.filters.attributes;\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n }\r\n this.productLists = [];\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n changeSortBy($event: any) {\r\n const selectedEle = $event.target;\r\n\r\n const sortOrder =\r\n selectedEle.options[selectedEle.selectedIndex].getAttribute(\"data-sort\");\r\n const sortCol = $event.target.value;\r\n\r\n if (sortCol !== \"\") {\r\n this.router.navigate([], {\r\n queryParams: {\r\n SortColumn: sortCol,\r\n SortOrder: sortOrder,\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n }\r\n\r\n pageChange(paging: PageChangedEvent) {\r\n paging.page = paging.page > 0 ? paging.page - 1 : 0;\r\n paging.itemsPerPage = paging.itemsPerPage\r\n ? paging.itemsPerPage\r\n : this.itemPerPage;\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n PageNo: paging.page,\r\n PageSize: paging.itemsPerPage,\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n\r\n createSearchForm() {\r\n this.searchForm = this.fb.group({\r\n SearchValue: [\"\"],\r\n });\r\n }\r\n\r\n submitSearchValue() {\r\n const SearchValue = this.searchForm.value.SearchValue;\r\n // if(SearchValue !== '') {\r\n this.router.navigate([], {\r\n queryParams: {\r\n SearchValue: SearchValue,\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n // }\r\n }\r\n\r\n brandChecked($event) {\r\n if ($event.target.checked) {\r\n this.selectedBrands.push($event.target.value);\r\n } else {\r\n let removeIndex = this.selectedBrands.findIndex(\r\n (itm) => itm === $event.target.value\r\n );\r\n if (removeIndex !== -1) this.selectedBrands.splice(removeIndex, 1);\r\n }\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n BrandIds: this.selectedBrands.join(\",\"),\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n\r\n subCatChecked($event) {\r\n if ($event.target.checked) {\r\n let findIndex = this.selectedSubCategoryIds.findIndex(\r\n (itm) => itm === $event.target.value\r\n );\r\n if (findIndex === -1) {\r\n this.selectedSubCategoryIds.push($event.target.value);\r\n }\r\n } else {\r\n let removeIndex = this.selectedSubCategoryIds.findIndex(\r\n (itm) => itm === $event.target.value\r\n );\r\n if (removeIndex !== -1)\r\n this.selectedSubCategoryIds.splice(removeIndex, 1);\r\n }\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n SubCategoryIds: this.selectedSubCategoryIds.join(\",\"),\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n\r\n attributeChecked(attrId, $event) {\r\n if ($event.target.checked) {\r\n this.selectedAttributeValues.push($event.target.value);\r\n } else {\r\n let removeIndex = this.selectedAttributeValues.findIndex(\r\n (itm) => itm === $event.target.value\r\n );\r\n if (removeIndex !== -1)\r\n this.selectedAttributeValues.splice(removeIndex, 1);\r\n }\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n AttributeValueIds: this.selectedAttributeValues.join(\",\"),\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n}\r\n\r\ninterface LMDResponse {\r\n status: boolean;\r\n message: string;\r\n data: ResponseData;\r\n paging: string;\r\n}\r\n\r\ninterface ResponseData {\r\n bannerList: any[];\r\n productList: ProductList[];\r\n totalProductCount: number;\r\n sortByList: any[];\r\n subCategoryIds: string;\r\n brandIds: string;\r\n attributeValueIds: string;\r\n themeIds: string;\r\n colorPaletteIds: string;\r\n categoryName: string;\r\n subCategoryDetails: any[];\r\n storeDetails: string;\r\n filters: ProductFilterModal;\r\n minPrice: number;\r\n maxPrice: number;\r\n}\r\n","import { Component, OnInit, Inject, OnDestroy } from \"@angular/core\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { FixedElementService } from \"common/services/fixed-element.service\";\r\n\r\n@Component({\r\n selector: \"app-cms\",\r\n templateUrl: \"./cms.component.html\",\r\n styleUrls: [\"./cms.component.css\"],\r\n})\r\nexport class CmsComponent implements OnInit, OnDestroy {\r\n pageName: string;\r\n pageTitle: string;\r\n pageContent;\r\n acceptPages = [\r\n \"aboutus\",\r\n \"errorpage\",\r\n \"helpcenter\",\r\n \"howitwork\",\r\n \"privacypolicy\",\r\n \"termsofuse\",\r\n \"trustandsafety\",\r\n \"paymentpolicy\",\r\n ];\r\n\r\n headerStyle = {};\r\n isAboutUsPage: boolean = false;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private titleService: TitleService,\r\n private router: Router,\r\n @Inject(DOCUMENT) private document: Document,\r\n private gs: GeneralService,\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private fixedElementService: FixedElementService\r\n ) {}\r\n\r\n ngOnInit() {\r\n // this.titleService.setTitle('Home');\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.fixedElementService.fixedElementHeight$.subscribe((height) => {\r\n const actualHeight = height + 150;\r\n this.headerStyle = { \"margin-top\": `${actualHeight}px` };\r\n });\r\n\r\n this.route.params.subscribe((params) => {\r\n this.pageName = params[\"pagename\"];\r\n if (this.acceptPages.indexOf(this.pageName) === -1) {\r\n this.router.navigate([`/home`]);\r\n }\r\n\r\n if (this.pageName === \"aboutus\") {\r\n this.isAboutUsPage = true;\r\n } else {\r\n this.isAboutUsPage = false;\r\n this.loadCmsPage();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.titleService.removeMetaTag(\"title\");\r\n this.titleService.removeMetaTag(\"keywords\");\r\n this.titleService.removeMetaTag(\"description\");\r\n this.document.body.classList.remove(\"front-body\");\r\n }\r\n\r\n loadCmsPage() {\r\n this.isLoadingService.add();\r\n this.pageTitle = \"\";\r\n this.pageContent = \"\";\r\n this.titleService.setTitle(this.pageName);\r\n this.gs\r\n .getCmsPageContent(this.pageName)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"]) {\r\n if (typeof data[\"data\"] !== \"undefined\") {\r\n this.pageTitle = data[\"data\"].title;\r\n this.pageContent = data[\"data\"].description;\r\n this.titleService.setTitle(this.pageTitle);\r\n\r\n this.titleService.setMetaTag(\"title\", data[\"data\"].metaTitle);\r\n this.titleService.setMetaTag(\r\n \"keywords\",\r\n data[\"data\"].metaKeyword\r\n );\r\n this.titleService.setMetaTag(\r\n \"description\",\r\n data[\"data\"].metaDescription\r\n );\r\n }\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n // this.alert.error(err.error.Message);\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Inject,\r\n OnDestroy,\r\n VERSION,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport {\r\n FormGroup,\r\n FormControl,\r\n Validators,\r\n AbstractControl,\r\n} from \"@angular/forms\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { FixedElementService } from \"common/services/fixed-element.service\";\r\n\r\n@Component({\r\n selector: \"app-contact\",\r\n templateUrl: \"./contact.component.html\",\r\n styleUrls: [\"./contact.component.css\"],\r\n})\r\nexport class ContactComponent implements OnInit, OnDestroy {\r\n public version = VERSION.full;\r\n public conatctForm: FormGroup;\r\n\r\n submitted = false;\r\n\r\n loading = false;\r\n\r\n @ViewChild(\"f\", { static: false }) myNgForm;\r\n\r\n headerStyle = {};\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n @Inject(DOCUMENT) private document: Document,\r\n private isLoadingService: IsLoadingService,\r\n private general: GeneralService,\r\n private alert: AlertService,\r\n private fixedElementService: FixedElementService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.document.body.classList.add(\"front-body\");\r\n this.titleService.setTitle(\"Contact\");\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.fixedElementService.fixedElementHeight$.subscribe((height) => {\r\n const actualHeight = height + 150;\r\n this.headerStyle = { \"margin-top\": `${actualHeight}px` };\r\n });\r\n\r\n this.createContactForm();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"front-body\");\r\n }\r\n\r\n get f() {\r\n return this.conatctForm.controls;\r\n }\r\n\r\n createContactForm() {\r\n this.conatctForm = new FormGroup({\r\n FirstName: new FormControl(null, Validators.required),\r\n LastName: new FormControl(null, Validators.required),\r\n Email: new FormControl(\r\n null,\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.pattern(\r\n \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,4}$\"\r\n ),\r\n ])\r\n ),\r\n Phone: new FormControl(null, [\r\n Validators.required,\r\n this.validatePhoneNumber,\r\n ]),\r\n Subject: new FormControl(null, Validators.required),\r\n Message: new FormControl(null, Validators.required),\r\n recaptchaReactive: new FormControl(null, Validators.required)\r\n });\r\n }\r\n\r\n getErrorEmail() {\r\n return this.conatctForm.get(\"Email\").hasError(\"required\")\r\n ? \"\"\r\n : this.conatctForm.get(\"Email\").hasError(\"pattern\")\r\n ? \"EmailInValid\"\r\n : // ? this.titleService.getTranslatedString(\"EmailInValid\")\r\n \"\";\r\n }\r\n\r\n validatePhoneNumber(\r\n control: AbstractControl\r\n ): { [key: string]: boolean } | null {\r\n const phoneNumber = control.value;\r\n\r\n // Check if the phone number has more than 10 digits\r\n if (phoneNumber && phoneNumber.replace(/\\D/g, \"\").length > 10) {\r\n return { invalidPhoneNumber: true };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.conatctForm.invalid) {\r\n return;\r\n }\r\n\r\n\r\n this.isLoadingService.add();\r\n this.loading = true;\r\n\r\n\r\n this.general.sendContactInquiry(this.conatctForm.value).subscribe(\r\n (response) => {\r\n if (response[\"status\"] === true) {\r\n this.alert.success(response[\"message\"]);\r\n this.reset();\r\n } else {\r\n this.alert.danger(response[\"message\"]);\r\n }\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(msg);\r\n }\r\n this.loading = false;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n reset() {\r\n this.submitted = false;\r\n this.loading = false;\r\n this.conatctForm.reset();\r\n this.myNgForm.resetForm();\r\n }\r\n\r\n onCaptchaResolved(captchaResponse: string): void {\r\n console.log(\"Captcha resolved with response:\", captchaResponse);\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Inject, OnDestroy } from \"@angular/core\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { DOCUMENT, JsonPipe } from \"@angular/common\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { FixedElementService } from \"common/services/fixed-element.service\";\r\n\r\n@Component({\r\n selector: \"app-faq\",\r\n templateUrl: \"./faq.component.html\",\r\n styleUrls: [\"./faq.component.css\"],\r\n})\r\nexport class FaqComponent implements OnInit, OnDestroy {\r\n faqCategories = [];\r\n faqLists = [];\r\n\r\n headerStyle = {};\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n @Inject(DOCUMENT) private document: Document,\r\n private isLoadingService: IsLoadingService,\r\n private general: GeneralService,\r\n private fixedElementService: FixedElementService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.document.body.classList.add(\"front-body\");\r\n this.titleService.setTitle(\"FAQ\");\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.fixedElementService.fixedElementHeight$.subscribe((height) => {\r\n const actualHeight = height + 150;\r\n this.headerStyle = { \"margin-top\": `${actualHeight}px` };\r\n });\r\n\r\n this.loadFaq();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.document.body.classList.remove(\"front-body\");\r\n }\r\n\r\n loadFaq() {\r\n this.isLoadingService.add();\r\n\r\n this.general.getFaq().subscribe(\r\n (response) => {\r\n if (response[\"status\"] === true) {\r\n const catIds = [];\r\n response[\"data\"].forEach((single, index) => {\r\n if (catIds.indexOf(single.catId) === -1) {\r\n this.faqCategories.push({\r\n categoryName: single.categoryName,\r\n categoryId: single.catId,\r\n });\r\n\r\n this.faqLists[single.catId] = [];\r\n }\r\n this.faqLists[single.catId].push(single);\r\n\r\n catIds.push(single.catId);\r\n });\r\n this.faqLists = this.faqLists.filter(\r\n (value) => JSON.stringify(value) !== \"{}\"\r\n );\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n faqCategoryClick(faqCategory) {\r\n const categoryId = faqCategory.categoryId;\r\n\r\n const flatData = this.faqLists.reduce((acc, val) => acc.concat(val), []);\r\n\r\n // this.selectedCategory = categoryId;\r\n // this.faqListByCategory = this.faqLists.filter((innerArray) =>\r\n // innerArray.some((item) => item.catId === categoryId)\r\n // );\r\n // console.log(flatData);\r\n const selectedCategoryFaqs = flatData.filter(\r\n (item) => item.catId === categoryId\r\n );\r\n // console.log(selectedCategoryFaqs);\r\n return selectedCategoryFaqs;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { constEnv } from 'common/constants.env';\r\n\r\nimport { CmsComponent } from \"./cms/cms.component\";\r\nimport { FaqComponent } from './faq/faq.component';\r\nimport { ContactComponent } from './contact/contact.component';\r\n\r\nconst baseUrl = constEnv.BASE_URL;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'page',\r\n children: [\r\n { path: ':pagename', component: CmsComponent },\r\n { path: '', redirectTo: '/home', pathMatch: 'full' }\r\n ]\r\n },\r\n { path: 'faq', component: FaqComponent },\r\n { path: 'contact', component: ContactComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class PagesRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { PagesRoutingModule } from './pages-routing.module';\r\nimport { CmsComponent } from './cms/cms.component';\r\n\r\nimport { TemplateModule } from '../template/template.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { RecaptchaModule, RECAPTCHA_SETTINGS, RecaptchaSettings, RecaptchaFormsModule } from 'ng-recaptcha';\r\nimport { MaterialModule } from 'common/modules/material.module';\r\nimport { MyDirectiveModule } from 'common/directives/my-directive.module';\r\n\r\nimport { FaqComponent } from './faq/faq.component';\r\nimport { ContactComponent } from './contact/contact.component';\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AboutusComponent } from './shared/aboutus/aboutus.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [CmsComponent, FaqComponent, ContactComponent, AboutusComponent],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RecaptchaModule,\r\n RecaptchaFormsModule,\r\n CommonModule,\r\n PagesRoutingModule,\r\n TranslateModule.forRoot(),\r\n MaterialModule,\r\n MyDirectiveModule,\r\n TemplateModule\r\n ],\r\n providers: [{\r\n provide: RECAPTCHA_SETTINGS,\r\n useValue: {\r\n siteKey: constEnv.googleSiteKey,\r\n } as RecaptchaSettings,\r\n }]\r\n})\r\nexport class PagesModule { }\r\n","import { Component } from \"@angular/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\n@Component({\r\n selector: \"app-aboutus\",\r\n templateUrl: \"./aboutus.component.html\",\r\n styleUrls: [\"./aboutus.component.css\"],\r\n})\r\nexport class AboutusComponent {\r\n config = constEnv;\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { TitleService } from \"common/services/title.service\";\r\n\r\n@Component({\r\n selector: \"app-cancel\",\r\n templateUrl: \"./cancel.component.html\",\r\n styleUrls: [\"./cancel.component.css\"],\r\n})\r\nexport class CancelComponent implements OnInit {\r\n constructor(\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Payment Cancel\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n }\r\n}\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\nimport { Payment } from \"common/_models/site/payment.modal\";\r\n\r\n@Component({\r\n selector: \"app-decline\",\r\n templateUrl: \"./decline.component.html\",\r\n styleUrls: [\"./decline.component.css\"],\r\n})\r\nexport class DeclineComponent implements OnInit {\r\n @Input() paymentInfo: Payment;\r\n config = constEnv;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { CartService } from \"common/services/site/cartservice\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { Payment } from \"common/_models/site/payment.modal\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { FixedElementService } from \"common/services/fixed-element.service\";\r\n\r\n@Component({\r\n selector: \"app-payment-action\",\r\n templateUrl: \"./payment-action.component.html\",\r\n styleUrls: [\"./payment-action.component.css\"],\r\n})\r\nexport class PaymentActionComponent implements OnInit {\r\n pageTitle;\r\n config = constEnv;\r\n currentPage;\r\n orderInfo: any;\r\n\r\n paymentInfo: Payment = null;\r\n headerStyle = {};\r\n\r\n constructor(\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private cart: CartService,\r\n private alert: AlertService,\r\n private customer: CustomerService,\r\n private fixedElementService: FixedElementService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.route.data.subscribe((data) => {\r\n switch (data.page) {\r\n case \"success\":\r\n this.pageTitle = \"Payment Success\";\r\n break;\r\n\r\n case \"decline\":\r\n this.pageTitle = \"Payment Decline\";\r\n break;\r\n\r\n default:\r\n this.router.navigate([this.config.BASE_URL]);\r\n break;\r\n }\r\n this.currentPage = data.page;\r\n });\r\n\r\n this.titleService.setTitle(this.pageTitle);\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.fixedElementService.fixedElementHeight$.subscribe((height) => {\r\n const actualHeight = height + 180;\r\n this.headerStyle = { \"margin-top\": `${actualHeight}px` };\r\n });\r\n\r\n const returnRequestTicketId =\r\n sessionStorage.getItem(btoa(\"ticketId\")) !== null\r\n ? atob(sessionStorage.getItem(btoa(\"ticketId\")))\r\n : null;\r\n const _o =\r\n localStorage.getItem(\"_o\") !== null ? localStorage.getItem(\"_o\") : null;\r\n let redirectHome = true;\r\n if (_o !== null) {\r\n this.orderInfo = JSON.parse(decodeURIComponent(_o));\r\n this.checkPaymentStatus();\r\n redirectHome = false;\r\n }\r\n\r\n if (returnRequestTicketId !== null) {\r\n redirectHome = false;\r\n this.checkReturnRequestPayment(returnRequestTicketId);\r\n }\r\n // else {\r\n // this.router.navigate([`${this.config.BASE_URL}home`]);\r\n // }\r\n\r\n if (redirectHome) {\r\n this.router.navigate([`${this.config.BASE_URL}home`]);\r\n }\r\n\r\n console.log(returnRequestTicketId);\r\n }\r\n\r\n checkPaymentStatus() {\r\n // const formData = new FormData();\r\n // formData.append('CustomerNotes', this.orderInfo._n);\r\n // // formData.append('promoCodeId', '');\r\n // // formData.append('promoCodeText', this.orderInfo._p);\r\n // formData.append('DeliveryAddressId', this.orderInfo._da);\r\n // formData.append('order_ref', this.orderInfo._ref);\r\n // formData.append('OrderBaseDetailId', this.orderInfo._order);\r\n // formData.append('IsBuyNow', this.orderInfo._isBuyNow);\r\n // formData.append('ProductId', (this.orderInfo._isBuyNow) ? this.orderInfo._pid : 0);\r\n\r\n const params = new HttpParams()\r\n .set(\"CustomerNotes\", this.orderInfo._n)\r\n .set(\"DeliveryAddressId\", this.orderInfo._da)\r\n .set(\"ProductId\", this.orderInfo._isBuyNow ? this.orderInfo._pid : 0)\r\n .set(\"OrderBaseDetailId\", this.orderInfo._order)\r\n .set(\"order_ref\", this.orderInfo._ref)\r\n .set(\"IsBuyNow\", this.orderInfo._isBuyNow);\r\n\r\n this.isLoadingService.add();\r\n this.cart.checkPaymentStatus(params).subscribe(\r\n (data) => {\r\n const res = data as PaymentCheckResponse;\r\n if (res.status === true) {\r\n this.paymentInfo = new Payment().deserialize(res.data);\r\n localStorage.removeItem(\"_o\");\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n checkReturnRequestPayment(ticketId) {\r\n this.isLoadingService.add();\r\n this.customer\r\n .returnRequestPaymentSuccess(ticketId)\r\n .pipe(first())\r\n .subscribe(\r\n (resp) => {\r\n if (resp[\"status\"] === true) {\r\n this.alert.success(resp[\"message\"]);\r\n sessionStorage.removeItem(btoa(\"ticketId\"));\r\n this.router.navigate([\r\n `${this.config.CUSTOMER_URL}/return-request-list`,\r\n ]);\r\n } else {\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface PaymentCheckResponse {\r\n status: boolean;\r\n status_code: number;\r\n message: string;\r\n data: Payment;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\n\r\nimport { PaymentActionComponent } from './payment-action/payment-action.component';\r\n\r\nconst baseUrl = constEnv.BASE_URL;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'payment',\r\n children: [\r\n { path: 'success', component: PaymentActionComponent, data: {page: 'success'} },\r\n { path: 'decline', component: PaymentActionComponent, data: {page: 'decline'} },\r\n { path: 'cancel', redirectTo: `/cart?o=cancel`, pathMatch: 'full' },\r\n { path: '', redirectTo: '/home', pathMatch: 'full' },\r\n { path: '**', redirectTo: '/home', pathMatch: 'full' }\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class PaymentRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { TemplateModule } from '../template/template.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MaterialModule } from 'common/modules/material.module';\r\n\r\n\r\nimport { PaymentRoutingModule } from './payment-routing.module';\r\nimport { SuccessComponent } from './success/success.component';\r\nimport { CancelComponent } from './cancel/cancel.component';\r\nimport { DeclineComponent } from './decline/decline.component';\r\nimport { PaymentActionComponent } from './payment-action/payment-action.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [SuccessComponent, CancelComponent, DeclineComponent, PaymentActionComponent],\r\n imports: [\r\n CommonModule,\r\n TranslateModule.forRoot(),\r\n MaterialModule,\r\n TemplateModule,\r\n PaymentRoutingModule,\r\n ]\r\n})\r\nexport class PaymentModule { }\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\nimport { Payment } from \"common/_models/site/payment.modal\";\r\n\r\n@Component({\r\n selector: \"app-success\",\r\n templateUrl: \"./success.component.html\",\r\n styleUrls: [\"./success.component.css\"],\r\n})\r\nexport class SuccessComponent implements OnInit {\r\n @Input() paymentInfo: Payment;\r\n config = constEnv;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport {\r\n NgxGalleryOptions,\r\n NgxGalleryImage,\r\n NgxGalleryAnimation,\r\n} from \"ngx-gallery-9\";\r\nimport {\r\n ActivatedRoute,\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n NavigationStart,\r\n Router,\r\n} from \"@angular/router\";\r\nimport { SiteProductService } from \"common/services/site/siteProduct.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport {\r\n ProductDetail,\r\n ProductExtra,\r\n} from \"common/_models/site/product-detail.modal\";\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\nimport { EventEmitterService } from \"common/services/event-emitter.service\";\r\nimport { CartService } from \"common/services/site/cartservice\";\r\nimport { filter, first, map, shareReplay } from \"rxjs/operators\";\r\nimport * as moment from \"moment\";\r\nimport { Observable, interval } from \"rxjs\";\r\nimport { PageChangedEvent } from \"ngx-bootstrap/pagination\";\r\nimport { FixedElementService } from \"common/services/fixed-element.service\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ProductViewComponent } from \"../product-view/product-view.component\";\r\n\r\n@Component({\r\n selector: \"app-product-detail\",\r\n templateUrl: \"./product-detail.component.html\",\r\n styleUrls: [\"./product-detail.component.css\"],\r\n})\r\nexport class ProductDetailComponent implements OnInit, OnDestroy {\r\n config = constEnv;\r\n\r\n productId: number;\r\n variationId: number;\r\n\r\n productGalleryOptions: NgxGalleryOptions[];\r\n productGalleryImages: NgxGalleryImage[] = [];\r\n\r\n productDetail: ProductDetail = null;\r\n\r\n selectedVariations = [];\r\n selectedAttributeValue = {};\r\n\r\n navSubcription;\r\n\r\n LABLE = 1;\r\n IMAGE = 2;\r\n COLOR = 3;\r\n console = console;\r\n isUserLoggedIn = false;\r\n itemQty: number = 1;\r\n\r\n productExtra: any = null;\r\n\r\n public timeLeft$: Observable;\r\n\r\n reviewCounters: any = [\r\n { star: 5, reviews: \"\", reviewPer: 0, key: \"fiveReviewsCount\" },\r\n { star: 4, reviews: \"\", reviewPer: 0, key: \"fourReviewsCount\" },\r\n { star: 3, reviews: \"\", reviewPer: 0, key: \"threeReviewsCount\" },\r\n { star: 2, reviews: \"\", reviewPer: 0, key: \"twoReviewsCount\" },\r\n { star: 1, reviews: \"\", reviewPer: 0, key: \"oneReviewsCount\" },\r\n ];\r\n\r\n productReviewsParams = {\r\n ProductId: \"\",\r\n Rating: \"\",\r\n PageNo: 0,\r\n PageSize: 10,\r\n };\r\n\r\n productReviews: ProductReviewData;\r\n productReviewData: ProductReview[] = [];\r\n productCounters: ProductCounter;\r\n\r\n pagination: Paging = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n pageSize: 10,\r\n currentPage: 0,\r\n totalPages: 0,\r\n previousPage: \"\",\r\n nextPage: \"\",\r\n };\r\n reviewImagesOptions: NgxGalleryOptions[];\r\n\r\n headerStyle = {};\r\n\r\n @ViewChild(\"rateNowFormModal\", { static: false })\r\n rateNowFormModal: ModalDirective;\r\n rateNowItemData: any;\r\n rateNowForm: FormGroup;\r\n isOpenRateNowModal: boolean = false;\r\n\r\n @ViewChild(\"rateNowFileInput\", { static: true })\r\n rateNowFileInput: ElementRef;\r\n rateNowFileData: File[] = [];\r\n rateNowPreviewUrl: any = [];\r\n rateNowMessage = null;\r\n isWriteReview: boolean = false;\r\n reviewData: any = null;\r\n\r\n constructor(\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private product: SiteProductService,\r\n private alert: AlertService,\r\n private authenticationService: AuthenticationService,\r\n private eventEmitterService: EventEmitterService,\r\n private cart: CartService,\r\n private fixedElementService: FixedElementService,\r\n private fb: FormBuilder,\r\n private customer: CustomerService,\r\n private dialog: MatDialog\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Product Detail\");\r\n\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.fixedElementService.fixedElementHeight$.subscribe((height) => {\r\n const actualHeight = height + 150;\r\n this.headerStyle = { \"margin-top\": `${actualHeight}px` };\r\n });\r\n\r\n this.variationId = this.route.snapshot.params.variationId;\r\n this.variationId = this.variationId > 0 ? this.variationId : 0;\r\n // if (this.variationId <= 0) {\r\n // this.router.navigate([this.config.BASE_URL]);\r\n // }\r\n\r\n this.productId = this.route.snapshot.params.productId;\r\n if (this.productId <= 0) {\r\n this.router.navigate([this.config.BASE_URL]);\r\n }\r\n\r\n this.navSubcription = this.router.events\r\n .pipe(\r\n filter(\r\n (event) =>\r\n event instanceof NavigationStart ||\r\n event instanceof NavigationEnd ||\r\n event instanceof NavigationCancel ||\r\n event instanceof NavigationError\r\n )\r\n )\r\n .subscribe((event) => {\r\n // If it's the start of navigation, `add()` a loading indicator\r\n if (event instanceof NavigationStart) {\r\n this.isLoadingService.add();\r\n return;\r\n }\r\n\r\n if (event instanceof NavigationEnd) {\r\n this.variationId = this.route.snapshot.params.variationId;\r\n this.variationId = this.variationId > 0 ? this.variationId : 0;\r\n // if (this.variationId <= 0) {\r\n // this.router.navigate([this.config.BASE_URL]);\r\n // }\r\n\r\n this.productId = this.route.snapshot.params.productId;\r\n if (this.productId <= 0) {\r\n this.router.navigate([this.config.BASE_URL]);\r\n }\r\n\r\n // if ( event.url.indexOf( 'category' ) > -1 ) {\r\n this.getProductDetail();\r\n // }\r\n }\r\n\r\n // Else navigation has ended, so `remove()` a loading indicator\r\n this.isLoadingService.remove();\r\n });\r\n\r\n this.productGalleryOptions = [\r\n {\r\n width: \"100%\",\r\n // height: 'auto',\r\n thumbnailsColumns: 5,\r\n thumbnailsMargin: 20,\r\n arrowPrevIcon: \"fa fa-chevron-left\",\r\n arrowNextIcon: \"fa fa-chevron-right\",\r\n closeIcon: \"fa fa-times\",\r\n imageAnimation: NgxGalleryAnimation.Slide,\r\n previewCloseOnClick: true,\r\n previewCloseOnEsc: true,\r\n imageArrowsAutoHide: true,\r\n thumbnailsArrowsAutoHide: true,\r\n },\r\n // max-width 800\r\n {\r\n breakpoint: 800,\r\n width: \"100%\",\r\n // height: '600px',\r\n imagePercent: 80,\r\n thumbnailsPercent: 20,\r\n thumbnailsMargin: 20,\r\n thumbnailMargin: 20,\r\n imageAutoPlay: true,\r\n imageSwipe: true,\r\n },\r\n // max-width 400\r\n {\r\n breakpoint: 400,\r\n preview: false,\r\n },\r\n ];\r\n\r\n this.reviewImagesOptions = [\r\n {\r\n width: \"100%\",\r\n height: \"70px\",\r\n thumbnailsColumns: 10,\r\n imageAnimation: NgxGalleryAnimation.Slide,\r\n image: false,\r\n thumbnailsRemainingCount: true,\r\n imageSize: \"content\",\r\n previewCloseOnClick: true,\r\n previewCloseOnEsc: true,\r\n arrowPrevIcon: \"fa fa-chevron-left\",\r\n arrowNextIcon: \"fa fa-chevron-right\",\r\n closeIcon: \"fa fa-times\",\r\n },\r\n // max-width 800\r\n {\r\n breakpoint: 800,\r\n width: \"100%\",\r\n // height: '600px',\r\n thumbnailsColumns: 4,\r\n imagePercent: 80,\r\n thumbnailsPercent: 20,\r\n thumbnailsMargin: 20,\r\n thumbnailMargin: 20,\r\n },\r\n // max-width 400\r\n {\r\n breakpoint: 400,\r\n preview: false,\r\n },\r\n ];\r\n\r\n this.isUserLoggedIn = this.authenticationService.currentUserValue\r\n ? true\r\n : false;\r\n\r\n this.getProductDetail();\r\n this.getProductReviews();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //Called once, before the instance is destroyed.\r\n //Add 'implements OnDestroy' to the class.\r\n this.productDetail = null;\r\n this.navSubcription.unsubscribe();\r\n }\r\n\r\n getProductDetail() {\r\n this.isLoadingService.add();\r\n this.product.getProductDetail(this.productId, this.variationId).subscribe(\r\n (data) => {\r\n const res = data as ProductDetailResponse;\r\n if (res.status === true) {\r\n this.productDetail = new ProductDetail().deserialize(res.data);\r\n\r\n // this.titleService.setMultipleTitle([\r\n // this.productDetail.headerText,\r\n // \"Product Detail\",\r\n // ]);\r\n this.titleService.setMultipleTitle([this.productDetail.headerText]);\r\n\r\n // this.itemQty = (this.productDetail.inCartQty > 0) ? this.productDetail.inCartQty : 1;\r\n\r\n this.productGalleryImages = [];\r\n if (this.productDetail.imageUrl.length > 0) {\r\n for (var i = 0; i < this.productDetail.imageUrl.length; i++) {\r\n this.productGalleryImages.push({\r\n small: this.productDetail.imageUrl[i],\r\n medium: this.productDetail.imageUrl[i],\r\n big: this.productDetail.imageUrl[i],\r\n });\r\n }\r\n }\r\n\r\n if (this.productDetail.attribute) {\r\n this.productDetail.attribute.forEach((singleAttr) => {\r\n singleAttr.attributeValue.forEach((attrValue) => {\r\n if (attrValue.selected) {\r\n // console.log(singleAttr, attrValue);\r\n this.selectedAttributeValue[singleAttr.attributeId] =\r\n attrValue.value;\r\n this.selectedVariations.push({\r\n attrId: singleAttr.attributeId,\r\n attrValueId: attrValue.id,\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n if (this.productDetail.extra.manufacturingDate) {\r\n if (\r\n moment(\r\n this.productDetail.extra.manufacturingDate,\r\n \"DD-MM-YYYY\"\r\n ).isValid()\r\n ) {\r\n this.productDetail.extra.manufacturingDate = moment(\r\n this.productDetail.extra.manufacturingDate,\r\n \"DD-MM-YYYY\"\r\n ).toDate();\r\n } else {\r\n this.productDetail.extra.manufacturingDate = moment(\r\n this.productDetail.extra.manufacturingDate\r\n ).toDate();\r\n }\r\n }\r\n // console.log(this.productDetail.offerEndsOnDate);\r\n let expiredDateTime: Date | String = \"\";\r\n if (this.productDetail.offerEndsOnDate) {\r\n const momentDate = moment(\r\n this.productDetail.offerEndsOnDate,\r\n \"DD-MM-YYYY HH:mm\"\r\n );\r\n const parseDate = `${\r\n momentDate.month() + 1\r\n }-${momentDate.date()}-${momentDate.year()} ${momentDate.hours()}:${momentDate.minutes()}`;\r\n // console.log(parseDate);\r\n expiredDateTime = new Date(parseDate);\r\n }\r\n // console.log(expiredDateTime);\r\n // const expiredDateTime = this.productDetail.offerEndsOnDate\r\n // ? new Date(this.productDetail.offerEndsOnDate)\r\n // : \"\";\r\n\r\n if (expiredDateTime) {\r\n this.timeLeft$ = interval(1000).pipe(\r\n map((x) => this.calcDateDiff(expiredDateTime)),\r\n shareReplay(1)\r\n );\r\n }\r\n\r\n this.setExtraMeta(this.productDetail.extra);\r\n\r\n window.scroll(0, 0);\r\n this.isLoadingService.remove();\r\n } else {\r\n this.alert.danger(res.message);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n setExtraMeta(extraMeta: ProductExtra) {\r\n const brand = extraMeta.brandName.trim();\r\n const warranty = extraMeta.warranty.trim();\r\n const isReturnable = extraMeta.isReturnable === \"Yes\" ? true : false;\r\n const returnPolicy = extraMeta.returnableText.trim();\r\n const manufacturingDate = extraMeta.manufacturingDate;\r\n const fragile = extraMeta.isFragile === \"Yes\" ? true : false;\r\n\r\n this.productExtra = [];\r\n if (brand) {\r\n this.productExtra.push({\r\n text: \"Brand Name: \" + brand,\r\n icon: \"assets/images/assets/ic_brand.svg\",\r\n show: brand ? true : false,\r\n class: \"ic_brand\",\r\n });\r\n }\r\n if (warranty) {\r\n this.productExtra.push({\r\n text: warranty,\r\n icon: \"assets/images/assets/ic_warranty.svg\",\r\n show: warranty ? true : false,\r\n class: \"ic_warranty\",\r\n });\r\n }\r\n\r\n if (isReturnable && returnPolicy) {\r\n this.productExtra.push({\r\n text: returnPolicy,\r\n icon: \"assets/images/assets/ic_return_policy.svg\",\r\n show: isReturnable,\r\n class: \"ic_return_policy\",\r\n });\r\n }\r\n\r\n if (manufacturingDate) {\r\n const manufacturingDateFormat =\r\n moment(manufacturingDate).format(\"MM/DD/YYYY\");\r\n this.productExtra.push({\r\n text: `Manufacturing Date: ${manufacturingDateFormat}`,\r\n icon: \"assets/images/assets/ic_manufacture.svg\",\r\n show: manufacturingDate ? true : false,\r\n class: \"ic_manufacture\",\r\n });\r\n }\r\n if (fragile) {\r\n this.productExtra.push({\r\n text: \"Fragile_Product\",\r\n icon: \"assets/images/assets/ic_handle.svg\",\r\n show: fragile,\r\n class: \"ic_handle\",\r\n });\r\n }\r\n }\r\n\r\n showExtraTab(): boolean {\r\n return this.productExtra.length > 0 ? true : false;\r\n }\r\n\r\n getProductVariation(attrId: number, attrValueId: number) {\r\n const variationAttrIds = [];\r\n this.selectedVariations.forEach((attr) => {\r\n if (attr.attrId === attrId) {\r\n attr.attrValueId = attrValueId;\r\n }\r\n\r\n if (attr.attrValueId > 0) {\r\n variationAttrIds.push(attr.attrValueId);\r\n }\r\n });\r\n this.selectedVariations = [];\r\n this.selectedVariations = variationAttrIds;\r\n\r\n this.isLoadingService.add();\r\n this.product\r\n .getProductVariationDetail(this.productId, variationAttrIds)\r\n .subscribe(\r\n (data) => {\r\n const res = data as ProductDetailResponse;\r\n\r\n if (res.status === true) {\r\n this.productDetail = new ProductDetail().deserialize(res.data);\r\n\r\n if (this.productDetail.message != \"\") {\r\n this.alert.danger(this.productDetail.message);\r\n }\r\n\r\n if (this.productDetail.imageUrl.length > 0) {\r\n this.productGalleryImages = [];\r\n for (var i = 0; i < this.productDetail.imageUrl.length; i++) {\r\n this.productGalleryImages.push({\r\n small: this.productDetail.imageUrl[i],\r\n medium: this.productDetail.imageUrl[i],\r\n big: this.productDetail.imageUrl[i],\r\n });\r\n }\r\n }\r\n\r\n if (this.productDetail.attribute) {\r\n this.productDetail.attribute.forEach((singleAttr) => {\r\n singleAttr.attributeValue.forEach((attrValue) => {\r\n if (attrValue.selected) {\r\n this.selectedAttributeValue[singleAttr.attributeId] =\r\n attrValue.value;\r\n this.selectedVariations.push({\r\n attrId: singleAttr.attributeId,\r\n attrValueId: attrValue.id,\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n this.isLoadingService.remove();\r\n } else {\r\n this.alert.danger(res.message);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n addToWishlist() {\r\n if (this.isUserLoggedIn) {\r\n const wishListData = {\r\n wishListId: this.productDetail.wishListId,\r\n storeId: this.productDetail.storeId,\r\n customerId: 0,\r\n productId: this.productDetail.productId,\r\n productVariationId: this.productDetail.productVariationId,\r\n };\r\n\r\n this.isLoadingService.add();\r\n this.product.addToWishList(wishListData).subscribe(\r\n (data) => {\r\n const res = data as ProductDetailResponse;\r\n if (res.status) {\r\n this.productDetail.wishListId = res.data;\r\n this.cart.sendCartCountEvent();\r\n this.alert.success(res.message);\r\n } else {\r\n this.productDetail.wishListId = 0;\r\n this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.productDetail.wishListId = 0;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n } else {\r\n this.router.navigate([`/${this.config.BASE_URL}/login`], {\r\n queryParams: { returnUrl: this.router.url },\r\n });\r\n }\r\n }\r\n\r\n removeFromWishlist(wishListId: number) {\r\n this.isLoadingService.add();\r\n this.product.deleteWishlist(wishListId).subscribe(\r\n (data) => {\r\n const res = data as ProductDetailResponse;\r\n if (res.status) {\r\n this.productDetail.wishListId = res.data;\r\n this.cart.sendCartCountEvent();\r\n this.alert.success(res.message);\r\n } else {\r\n this.productDetail.wishListId = 0;\r\n this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.productDetail.wishListId = 0;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n addToCart() {\r\n if (this.isUserLoggedIn) {\r\n const formData = new FormData();\r\n formData.append(\"StoreId\", this.productDetail.storeId);\r\n formData.append(\"ProductId\", this.productDetail.productId.toString());\r\n formData.append(\r\n \"ProductVariationId\",\r\n this.productDetail.productVariationId.toString()\r\n );\r\n formData.append(\"ItemQuantity\", this.itemQty.toString());\r\n formData.append(\"ItemTypeId\", this.productDetail.itemTypeId.toString());\r\n\r\n this.isLoadingService.add();\r\n this.product.addToCart(formData).subscribe(\r\n (data) => {\r\n const res = data as ProductDetailResponse;\r\n if (res.status) {\r\n this.productDetail.buttonText = res.data.ButtonText;\r\n this.productDetail.inCart = true;\r\n // this.eventEmitterService.getCartCount();\r\n this.cart.sendCartCountEvent();\r\n this.alert.success(res.message);\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n } else {\r\n this.router.navigate([`/${this.config.BASE_URL}/login`], {\r\n queryParams: { returnUrl: this.router.url },\r\n });\r\n }\r\n }\r\n\r\n showActionButtons(): boolean {\r\n if (this.isUserLoggedIn) {\r\n const userDetails =\r\n this.authenticationService.currentUserValue.userdetails;\r\n if (\r\n userDetails.userType == \"designer\" ||\r\n userDetails.userType == \"store\"\r\n ) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n buyNow() {\r\n if (this.isUserLoggedIn) {\r\n this.isLoadingService.add();\r\n this.cart\r\n .getBuyNow(this.productDetail.productId, 0, this.itemQty)\r\n .subscribe(\r\n (data) => {\r\n const res = data as ProductDetailResponse;\r\n if (res.status === true) {\r\n this.router.navigate([`${this.config.BASE_URL}/buy-now`], {\r\n queryParams: { pid: this.productDetail.productId },\r\n });\r\n } else {\r\n this.alert.danger(res.message);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n } else {\r\n this.router.navigate([`/${this.config.BASE_URL}/login`], {\r\n queryParams: { returnUrl: this.router.url },\r\n });\r\n }\r\n }\r\n\r\n collapseSpaces(text: string): string {\r\n // return text.replace(/[\\r\\n]+/g, \"\\n\").trim();\r\n return text;\r\n }\r\n\r\n calcDateDiff(endDay): any {\r\n const dDay = endDay.valueOf();\r\n // console.log(dDay);\r\n const milliSecondsInASecond = 1000;\r\n const hoursInADay = 24;\r\n const minutesInAnHour = 60;\r\n const secondsInAMinute = 60;\r\n\r\n const timeDifference = dDay - Date.now();\r\n\r\n let daysToDday = Math.floor(\r\n timeDifference /\r\n (milliSecondsInASecond *\r\n minutesInAnHour *\r\n secondsInAMinute *\r\n hoursInADay)\r\n );\r\n\r\n let hoursToDday = Math.floor(\r\n timeDifference /\r\n (milliSecondsInASecond * minutesInAnHour * secondsInAMinute)\r\n );\r\n\r\n let minutesToDday = Math.floor(\r\n (timeDifference / (milliSecondsInASecond * minutesInAnHour)) %\r\n secondsInAMinute\r\n );\r\n\r\n let secondsToDday =\r\n Math.floor(timeDifference / milliSecondsInASecond) % secondsInAMinute;\r\n\r\n const secondsToDdayWS =\r\n secondsToDday < 10 ? \"0\" + secondsToDday : secondsToDday.toString();\r\n const minutesToDdayWS =\r\n minutesToDday < 10 ? \"0\" + minutesToDday : minutesToDday.toString();\r\n const hoursToDdayWS =\r\n hoursToDday < 10 ? \"0\" + hoursToDday : hoursToDday.toString();\r\n const daysToDdayWS =\r\n daysToDday < 10 ? \"0\" + daysToDday : daysToDday.toString();\r\n\r\n return { secondsToDdayWS, minutesToDdayWS, hoursToDdayWS, daysToDdayWS };\r\n }\r\n\r\n getProductReviews() {\r\n this.isLoadingService.add();\r\n this.productReviewsParams.ProductId = this.productId.toString();\r\n this.product.getProductReviews(this.productReviewsParams).subscribe(\r\n (data) => {\r\n const res = data as ProductReviewResponse;\r\n if (res.status === true) {\r\n this.productReviews = res.data as ProductReviewData;\r\n\r\n this.productCounters = this.productReviews.Counter;\r\n this.productReviewData = this.productReviews.Reviews || [];\r\n\r\n if (this.productReviewData) {\r\n this.pagination = JSON.parse(res.paging) as Paging;\r\n\r\n this.productReviewData.map((item, index) => {\r\n if (item.images.length > 0) {\r\n item.images.map((image) => {\r\n if (\r\n typeof this.productReviews.Reviews[index].reviewImages ===\r\n \"undefined\"\r\n ) {\r\n this.productReviews.Reviews[index][\"reviewImages\"] = [];\r\n }\r\n this.productReviews.Reviews[index].reviewImages.push({\r\n small: image.images,\r\n medium: image.images,\r\n big: image.images,\r\n });\r\n });\r\n }\r\n });\r\n\r\n const counters = this.productCounters;\r\n const totalReviewCounter = counters.totalReviewsCount;\r\n this.reviewCounters.map((counter, index) => {\r\n counter.reviews = counters[counter.key];\r\n counter.reviewPer = Math.round(\r\n (counters[counter.key] / totalReviewCounter) * 100\r\n );\r\n\r\n this.reviewCounters[index] = counter;\r\n });\r\n } else {\r\n this.productReviewData = [];\r\n }\r\n this.isLoadingService.remove();\r\n } else {\r\n // this.alert.danger(res.message);\r\n this.isLoadingService.remove();\r\n this.productReviewData = [];\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n onReviewFilterClick(filterStar) {\r\n this.productReviewsParams.Rating = filterStar;\r\n this.getProductReviews();\r\n }\r\n\r\n pageChange(paging: PageChangedEvent) {\r\n paging.page = paging.page > 0 ? paging.page - 1 : 0;\r\n paging.itemsPerPage = paging.itemsPerPage\r\n ? paging.itemsPerPage\r\n : this.productReviewsParams.PageSize;\r\n\r\n this.productReviewsParams.PageSize = paging.itemsPerPage;\r\n this.productReviewsParams.PageNo = paging.page;\r\n\r\n this.getProductReviews();\r\n }\r\n\r\n private makeRateNowForm(data) {\r\n this.rateNowForm = this.fb.group({\r\n OrderId: [data?.data || null],\r\n Rate: [\"\"],\r\n Comment: [null, Validators.required],\r\n Attachements: [null],\r\n });\r\n }\r\n\r\n private updateRateNowForm(data) {\r\n console.log(data);\r\n this.rateNowForm.patchValue({\r\n OrderId: data.data,\r\n Rate: \"\",\r\n Comment: null,\r\n Attachements: null,\r\n });\r\n }\r\n\r\n openRateNowForm(productId) {\r\n if (this.isUserLoggedIn) {\r\n this.isLoadingService.add();\r\n this.makeRateNowForm({ data: null });\r\n this.rateNowMessage = null;\r\n\r\n this.product.getCustomerReview(productId).subscribe(\r\n (data: CustomerReviewResponse) => {\r\n if (data.status === false) {\r\n this.isWriteReview = false;\r\n this.isOpenRateNowModal = true;\r\n this.rateNowMessage = data.message;\r\n\r\n setTimeout(() => {\r\n this.rateNowFormModal.show();\r\n }, 200);\r\n this.isLoadingService.remove();\r\n } else {\r\n this.isWriteReview = true;\r\n this.rateNowMessage = data.message;\r\n this.updateRateNowForm(data);\r\n this.isOpenRateNowModal = true;\r\n setTimeout(() => {\r\n this.rateNowFormModal.show();\r\n }, 200);\r\n // this.rateNowItemData = data.data;\r\n this.isLoadingService.remove();\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.productDetail.wishListId = 0;\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n } else {\r\n this.router.navigate([`/${this.config.BASE_URL}/login`], {\r\n queryParams: { returnUrl: this.router.url },\r\n });\r\n }\r\n }\r\n onRateNowModalHidden() {\r\n this.rateNowItemData = null;\r\n this.isOpenRateNowModal = false;\r\n // this.returnRequestForm.reset();\r\n }\r\n onRateNowSubmit() {\r\n if (this.rateNowForm.invalid) {\r\n return;\r\n }\r\n\r\n this.isLoadingService.add();\r\n\r\n // // console.log(this.returnRequestForm.value);\r\n const formData = new FormData();\r\n formData.append(\"OrderId\", this.rateNowForm.value.OrderId);\r\n formData.append(\"Rate\", this.rateNowForm.value.Rate);\r\n formData.append(\"Comment\", this.rateNowForm.value.Comment);\r\n\r\n if (this.rateNowFileData.length > 0) {\r\n for (let i = 0; i < this.rateNowFileData.length; i++) {\r\n formData.append(\"Attachements\", this.rateNowFileData[i]);\r\n }\r\n }\r\n\r\n this.customer\r\n .rateReviewToStoreOrderProduct(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.rateNowFormModal.hide();\r\n this.isLoadingService.remove();\r\n\r\n this.getProductDetail();\r\n this.getProductReviews();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.isLoadingService.remove();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n rateNowFileProgress(secondaryFileInput: any) {\r\n this.rateNowFileData.push(secondaryFileInput.target.files[0] as File);\r\n this.rateNowImagePreview();\r\n }\r\n\r\n rateNowImagePreview() {\r\n if (this.rateNowFileData.length > 0) {\r\n this.rateNowPreviewUrl = [];\r\n for (let i = 0; i < this.rateNowFileData.length; i++) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(this.rateNowFileData[i]);\r\n reader.onload = (_event) => {\r\n this.rateNowPreviewUrl[i] = reader.result;\r\n if (this.rateNowPreviewUrl[i].length > 2 ** 21) {\r\n this.alert.danger(\"File exceeds the maximum size: 2mb.\");\r\n this.removeRateNowImage(i);\r\n }\r\n };\r\n }\r\n }\r\n }\r\n\r\n removeRateNowImage(i) {\r\n this.rateNowFileData.splice(i, 1);\r\n this.rateNowPreviewUrl.splice(i, 1);\r\n }\r\n \r\n openViewerModal(modelUrl: string) {\r\n const screenWidth = window.innerWidth;\r\n const screenHeight = window.innerHeight;\r\n \r\n const width = screenWidth > 768 ? '70vw' : '95vw';\r\n const height = screenHeight > 768 ? '80vh' : '70vh'; \r\n this.dialog.open(ProductViewComponent, {\r\n width: width,\r\n height: height,\r\n // maxWidth: '100vw',\r\n // maxHeight: '100vh',\r\n data: { modelUrl },\r\n });\r\n }\r\n \r\n \r\n}\r\n\r\ninterface ProductDetailResponse {\r\n status: boolean;\r\n message: string;\r\n data: any;\r\n}\r\n\r\ninterface ProductReviewResponse {\r\n status: boolean;\r\n message: string;\r\n data: ProductReviewData;\r\n paging: any;\r\n}\r\n\r\ninterface ProductReviewData {\r\n Counter: ProductCounter;\r\n Reviews: ProductReview[];\r\n}\r\n\r\ninterface ProductCounter {\r\n avgReviewsCount: number;\r\n fiveReviewsCount: number;\r\n fourReviewsCount: number;\r\n oneReviewsCount: number;\r\n threeReviewsCount: number;\r\n totalReviewsCount: number;\r\n twoReviewsCount: number;\r\n}\r\n\r\ninterface ProductReview {\r\n comment: string;\r\n customerName: string;\r\n customerProfile: string;\r\n date: Date;\r\n images: [\r\n {\r\n images: string;\r\n }\r\n ];\r\n rate: number;\r\n reviewId: number;\r\n rowNum: number;\r\n totalRows: number;\r\n reviewImages: NgxGalleryImage[];\r\n}\r\n\r\ninterface timeComponents {\r\n secondsToDday: string;\r\n minutesToDday: string;\r\n hoursToDday: string;\r\n daysToDday: string;\r\n}\r\nexport interface Paging {\r\n totalCount: number;\r\n totalRowsAfterFiltering: number;\r\n pageSize: number;\r\n currentPage: number;\r\n totalPages: number;\r\n previousPage: string;\r\n nextPage: string;\r\n}\r\nexport interface CustomerReviewResponse {\r\n status: boolean;\r\n message?: string;\r\n}\r\n","import { Component, Inject } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport * as QRCode from \"qrcode\";\r\n\r\n@Component({\r\n selector: \"app-product-view\",\r\n templateUrl: \"./product-view.component.html\",\r\n styleUrls: [\"./product-view.component.css\"],\r\n})\r\nexport class ProductViewComponent {\r\n config = constEnv;\r\n modelUrl: string;\r\n showQr: boolean = false;\r\n showGuideline = false;\r\n // \"https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/DamagedHelmet/glTF-Binary/DamagedHelmet.glb\";\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n this.modelUrl = data.modelUrl || \"\";\r\n }\r\n\r\n closeDialog(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n showQrCode() {\r\n this.showQr = true;\r\n const currentUrl = window.location.href;\r\n this.generateQrCode(currentUrl);\r\n }\r\n\r\n generateQrCode(url: string) {\r\n QRCode.toCanvas(document.getElementById(\"qr-code\"), url, (error) => {\r\n if (error) console.error(error);\r\n });\r\n }\r\n\r\n closeQrCode() {\r\n this.showQr = false;\r\n }\r\n\r\n toggleGuideline() {\r\n this.showGuideline = !this.showGuideline;\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport {\r\n ActivatedRoute,\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n NavigationStart,\r\n Router,\r\n} from \"@angular/router\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { PageChangedEvent } from \"ngx-bootstrap/pagination\";\r\nimport { SiteGeneralService } from \"common/services/site/siteGeneral.service\";\r\nimport { SiteProductService } from \"common/services/site/siteProduct.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { ProductFilterModal } from \"common/_models/site/product-filter.modal\";\r\nimport { ProductList } from \"common/_models/site/product-list.modal\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { filter } from \"rxjs/operators\";\r\nimport { FilterBrandModal } from \"common/_models/site/filter/filter-brand.modal\";\r\nimport { FilterValueModal } from \"common/_models/site/filter/filter-value.modal\";\r\nimport { FilterAttributeModal } from \"common/_models/site/filter/filter-attribute.modal\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport {\r\n Paging,\r\n ProductFilerSortParam,\r\n SortByList,\r\n} from \"../category/category.component\";\r\nimport { FixedElementService } from \"common/services/fixed-element.service\";\r\n\r\n@Component({\r\n selector: \"app-products\",\r\n templateUrl: \"./products.component.html\",\r\n styleUrls: [\"./products.component.css\"],\r\n})\r\nexport class ProductsComponent implements OnInit, OnDestroy {\r\n config = constEnv;\r\n filters: ProductFilterModal = null;\r\n productLists: ProductList[] = null;\r\n sortBy: SortByList[] = null;\r\n\r\n navSubcription;\r\n pageTitle = \"Products\";\r\n productDetailUrl = `${this.config.BASE_URL}/product/`;\r\n\r\n pagination: Paging;\r\n itemPerPage = 12;\r\n\r\n brands: FilterBrandModal[] = null;\r\n subCategories: FilterValueModal[] = null;\r\n attributes: FilterAttributeModal[] = null;\r\n\r\n searchForm: FormGroup;\r\n\r\n selectedBrands = [];\r\n selectedSubCategoryIds = [];\r\n selectedAttributeValues = [];\r\n\r\n productParams = {\r\n SearchColumn: \"\",\r\n SearchValue: \"\",\r\n SortColumn: \"\",\r\n BrandIds: \"\",\r\n SubCategoryIds: \"\",\r\n AttributeValueIds: \"\",\r\n CategoryId: 0,\r\n PageNo: 0,\r\n PageSize: 12,\r\n TagId: \"\",\r\n } as ProductFilerSortParam;\r\n\r\n headerStyle = {};\r\n\r\n constructor(\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService,\r\n private alert: AlertService,\r\n private general: SiteGeneralService,\r\n private product: SiteProductService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private fixedElementService: FixedElementService\r\n ) {}\r\n\r\n ngOnInit() {\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n\r\n this.fixedElementService.fixedElementHeight$.subscribe((height) => {\r\n const actualHeight = height + 150;\r\n this.headerStyle = { \"margin-top\": `${actualHeight}px` };\r\n });\r\n\r\n this.pagination = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n pageSize: this.itemPerPage,\r\n currentPage: 0,\r\n totalPages: 0,\r\n previousPage: \"\",\r\n nextPage: \"\",\r\n };\r\n\r\n this.createSearchForm();\r\n this.selectedBrands = [];\r\n this.selectedSubCategoryIds = [];\r\n\r\n this.navSubcription = this.router.events\r\n .pipe(\r\n filter(\r\n (event) =>\r\n event instanceof NavigationStart ||\r\n event instanceof NavigationEnd ||\r\n event instanceof NavigationCancel ||\r\n event instanceof NavigationError\r\n )\r\n )\r\n .subscribe((event) => {\r\n // If it's the start of navigation, `add()` a loading indicator\r\n if (event instanceof NavigationStart) {\r\n this.isLoadingService.add();\r\n return;\r\n }\r\n\r\n if (event instanceof NavigationEnd) {\r\n this.checkProductPageType();\r\n this.getProductLists();\r\n }\r\n\r\n // Else navigation has ended, so `remove()` a loading indicator\r\n this.isLoadingService.remove();\r\n });\r\n\r\n this.route.queryParams.subscribe((param) => {\r\n this.productParams.TagId =\r\n typeof param.TagId !== \"undefined\" ? param.TagId : \"\";\r\n this.productParams.CategoryId =\r\n typeof param.CategoryId !== \"undefined\" ? param.CategoryId : \"\";\r\n this.productParams.SubCategoryIds =\r\n typeof param.SubCategoryIds !== \"undefined\" ? param.SubCategoryIds : \"\";\r\n this.productParams.SortColumn =\r\n typeof param.SortColumn !== \"undefined\" ? param.SortColumn : \"\";\r\n this.productParams.SortOrder =\r\n typeof param.SortOrder !== \"undefined\" ? param.SortOrder : \"\";\r\n this.productParams.SearchValue =\r\n typeof param.SearchValue !== \"undefined\" ? param.SearchValue : \"\";\r\n this.productParams.BrandIds =\r\n typeof param.BrandIds !== \"undefined\" ? param.BrandIds : \"\";\r\n this.productParams.AttributeValueIds =\r\n typeof param.AttributeValueIds !== \"undefined\"\r\n ? param.AttributeValueIds\r\n : \"\";\r\n this.productParams.PageNo =\r\n typeof param.PageNo !== \"undefined\" ? param.PageNo : \"\";\r\n this.productParams.PageSize =\r\n typeof param.PageSize !== \"undefined\"\r\n ? param.PageSize\r\n : this.itemPerPage;\r\n });\r\n\r\n this.checkProductPageType();\r\n\r\n this.getProductLists();\r\n\r\n this.titleService.setTitle(this.pageTitle);\r\n }\r\n\r\n checkProductPageType() {\r\n const productTypePage = this.product.getProductTypePageLists();\r\n const productPageType =\r\n this.route.snapshot.params.type !== \"undefined\"\r\n ? this.route.snapshot.params.type\r\n : \"\";\r\n\r\n if (productPageType) {\r\n const selectedProductPageType = productTypePage.find(\r\n (item) => item.slug === productPageType || item.id === productPageType\r\n );\r\n\r\n if (selectedProductPageType) {\r\n if (selectedProductPageType.type === \"tag\") {\r\n this.productParams.TagId = selectedProductPageType.id.toString();\r\n this.pageTitle = selectedProductPageType.title;\r\n }\r\n } else {\r\n this.router.navigateByUrl(constEnv.BASE_URL + \"home\");\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.navSubcription.unsubscribe();\r\n }\r\n\r\n getProductLists() {\r\n this.isLoadingService.add();\r\n\r\n this.product.getProductList(this.productParams).subscribe(\r\n (data) => {\r\n const res = data as HotDealListResponse;\r\n if (res.status === true) {\r\n if (res.data.productList !== null) {\r\n this.productLists = res.data.productList.map((item) =>\r\n new ProductList().deserialize(item)\r\n );\r\n } else {\r\n this.productLists = [];\r\n }\r\n this.sortBy = res.data.sortByList as SortByList[];\r\n\r\n this.pagination = JSON.parse(res.paging) as Paging;\r\n\r\n this.filters = new ProductFilterModal().deserialize(res.data.filters);\r\n\r\n this.brands = this.filters.brands;\r\n this.subCategories = this.filters.categories;\r\n this.attributes = this.filters.attributes;\r\n } else {\r\n this.alert.danger(res.message);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n }\r\n this.productLists = [];\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n\r\n changeSortBy($event: any) {\r\n const selectedEle = $event.target;\r\n\r\n const sortOrder =\r\n selectedEle.options[selectedEle.selectedIndex].getAttribute(\"data-sort\");\r\n const sortCol = $event.target.value;\r\n\r\n if (sortCol !== \"\") {\r\n this.router.navigate([], {\r\n queryParams: {\r\n SortColumn: sortCol,\r\n SortOrder: sortOrder,\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n }\r\n\r\n pageChange(paging: PageChangedEvent) {\r\n paging.page = paging.page > 0 ? paging.page - 1 : 0;\r\n paging.itemsPerPage = paging.itemsPerPage\r\n ? paging.itemsPerPage\r\n : this.itemPerPage;\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n PageNo: paging.page,\r\n PageSize: paging.itemsPerPage,\r\n },\r\n queryParamsHandling: \"merge\",\r\n replaceUrl: true,\r\n });\r\n }\r\n\r\n createSearchForm() {\r\n this.searchForm = this.fb.group({\r\n SearchValue: [\"\"],\r\n });\r\n }\r\n\r\n submitSearchValue() {\r\n const SearchValue = this.searchForm.value.SearchValue;\r\n // if(SearchValue !== '') {\r\n this.router.navigate([], {\r\n queryParams: {\r\n SearchValue: SearchValue,\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n // }\r\n }\r\n\r\n brandChecked($event) {\r\n if ($event.target.checked) {\r\n this.selectedBrands.push($event.target.value);\r\n } else {\r\n let removeIndex = this.selectedBrands.findIndex(\r\n (itm) => itm === $event.target.value\r\n );\r\n if (removeIndex !== -1) this.selectedBrands.splice(removeIndex, 1);\r\n }\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n BrandIds: this.selectedBrands.join(\",\"),\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n\r\n subCatChecked($event) {\r\n if ($event.target.checked) {\r\n let findIndex = this.selectedSubCategoryIds.findIndex(\r\n (itm) => itm === $event.target.value\r\n );\r\n if (findIndex === -1) {\r\n this.selectedSubCategoryIds.push($event.target.value);\r\n }\r\n } else {\r\n let removeIndex = this.selectedSubCategoryIds.findIndex(\r\n (itm) => itm === $event.target.value\r\n );\r\n if (removeIndex !== -1)\r\n this.selectedSubCategoryIds.splice(removeIndex, 1);\r\n }\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n SubCategoryIds: this.selectedSubCategoryIds.join(\",\"),\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n\r\n attributeChecked(attrId, $event) {\r\n if ($event.target.checked) {\r\n this.selectedAttributeValues.push($event.target.value);\r\n } else {\r\n let removeIndex = this.selectedAttributeValues.findIndex(\r\n (itm) => itm === $event.target.value\r\n );\r\n if (removeIndex !== -1)\r\n this.selectedAttributeValues.splice(removeIndex, 1);\r\n }\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n AttributeValueIds: this.selectedAttributeValues.join(\",\"),\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n}\r\n\r\ninterface HotDealListResponse {\r\n status: boolean;\r\n message: string;\r\n data: ResponseData;\r\n paging: string;\r\n}\r\n\r\ninterface ResponseData {\r\n bannerList: any[];\r\n productList: ProductList[];\r\n totalProductCount: number;\r\n sortByList: any[];\r\n subCategoryIds: string;\r\n brandIds: string;\r\n attributeValueIds: string;\r\n themeIds: string;\r\n colorPaletteIds: string;\r\n categoryName: string;\r\n subCategoryDetails: any[];\r\n storeDetails: string;\r\n filters: ProductFilterModal;\r\n minPrice: number;\r\n maxPrice: number;\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\nimport { ChatbotService } from \"common/services/chatbot.service\";\r\nimport { data } from \"jquery\";\r\nimport { OwlOptions } from \"ngx-owl-carousel-o\";\r\n\r\n@Component({\r\n selector: \"app-chat-bot\",\r\n templateUrl: \"./chat-bot.component.html\",\r\n styleUrls: [\"./chat-bot.component.css\"],\r\n})\r\nexport class ChatBotComponent implements OnInit, AfterViewChecked {\r\n config = constEnv;\r\n\r\n isChatOpen: boolean = false;\r\n isLoggedIn: boolean = false;\r\n messages: {\r\n sender: string;\r\n data: {\r\n message: string;\r\n data: any;\r\n imageUrl?: string;\r\n audioUrl?: string;\r\n type: string;\r\n };\r\n }[] = [];\r\n userMessage: string = \"\";\r\n recordedAudioUrl: string | null = null;\r\n private mediaRecorder!: MediaRecorder;\r\n private audioChunks: Blob[] = [];\r\n isResponseChatLoading: boolean = false;\r\n\r\n @ViewChild(\"chatWindow\", { static: false }) private chatWindow!: ElementRef;\r\n @ViewChild(\"scrollAnchor\", { static: false })\r\n private scrollAnchor!: ElementRef;\r\n\r\n isChatLoading: boolean = false;\r\n isChatLoadingError: boolean = false;\r\n isRecording: boolean = false;\r\n mediaStream!: MediaStream;\r\n isAudioScreen: boolean = false;\r\n\r\n productSlide: OwlOptions = {\r\n loop: true,\r\n mouseDrag: false,\r\n touchDrag: false,\r\n pullDrag: false,\r\n dots: false,\r\n margin: 10,\r\n rtl: false,\r\n autoplay: false,\r\n navText: [\r\n \"\",\r\n \"\",\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 2,\r\n },\r\n 500: {\r\n items: 2,\r\n },\r\n 1000: {\r\n items: 4,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n constructor(\r\n private chatbotService: ChatbotService,\r\n private authenticationService: AuthenticationService\r\n ) {\r\n this.userMessage = \"\";\r\n }\r\n\r\n ngOnInit() {\r\n // const token =\r\n // \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxIiwidXNlck5hbWUiOiJSYWRoaWthLndlYm1vYmlAZ21haWwuY29tIiwidXNlckxhbmd1YWdlIjoiZW4tVVMiLCJ1c2VyQ3VycmFuY3kiOiJBRUQiLCJsYW5nSWQiOiIxIiwidXNlclR5cGUiOiJjdXN0b21lciIsImRlZmF1bHRfY3VycmVuY3lfY29kZSI6IlVTRCIsImFkZHJlc3NJZCI6IjEiLCJpc1dpemFyZFN0ZXBDb21wbGV0ZWQiOiJGYWxzZSIsIkxvZ2luRnJvbSI6IjAiLCJOYW1lIjoiUmFkaGlrYSBEZXZyZSIsImV4cCI6MTcyODk4Njk4NSwiaXNzIjoiaHR0cDovLzk0LjcyLjExNC4xMjU6MzAyNC8iLCJhdWQiOiJodHRwOi8vOTQuNzIuMTE0LjEyNTozMDI0LyJ9.rX2k3LC5DPQMPQcgGtUWzT26pQrCcx1AV4asllFdVPA\"; // Retrieve Bearer token\r\n // if (token) {\r\n // this.chatbotService.startConnection(token);\r\n // // Listen for messages from the SignalR server\r\n // this.chatbotService.onReceiveMessage((message) => {\r\n // console.log(\"Init\", message);\r\n // let data = message.content || {};\r\n // let responseText = \"\";\r\n // if (typeof data.data !== \"undefined\" && data.data.length > 0) {\r\n // } else {\r\n // responseText = typeof message === \"string\" ? message : data.message;\r\n // data = {\r\n // message: responseText,\r\n // data: [],\r\n // };\r\n // }\r\n // // this.messages.push({ sender: \"Bot\", text: responseText });\r\n // this.messages.push({ sender: \"Bot\", data: data });\r\n // });\r\n // }\r\n this.isLoggedIn = !!localStorage.getItem(\"currentUser\");\r\n }\r\n\r\n ngAfterViewChecked() {\r\n // this.scrollToBottom();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.mediaStream) {\r\n this.mediaStream.getTracks().forEach((track) => track.stop());\r\n }\r\n }\r\n\r\n startChat() {\r\n const currentUser = this.authenticationService.currentUserValue;\r\n const token = currentUser && currentUser.token ? currentUser.token : \"\";\r\n if (token !== \"\") {\r\n this.isChatLoading = true;\r\n this.chatbotService.startConnection(token);\r\n this.chatbotService.OnErrorget();\r\n\r\n // Listen for messages from the SignalR server\r\n this.chatbotService.onReceiveMessage((message) => {\r\n let data = message.content || {};\r\n let responseText = \"\";\r\n if (typeof data.data !== \"undefined\" && data.data.length > 0) {\r\n } else {\r\n responseText = typeof message === \"string\" ? message : data.message;\r\n data = {\r\n message: responseText,\r\n data: [],\r\n };\r\n }\r\n // this.messages.push({ sender: \"Bot\", text: responseText });\r\n this.messages.push({ sender: \"Bot\", data: data });\r\n this.isChatLoading = false;\r\n this.isResponseChatLoading = false;\r\n this.scrollToBottom();\r\n });\r\n\r\n // const checkRoomNameInterval = setInterval(() => {\r\n // if (this.chatbotService.roomName) {\r\n // clearInterval(checkRoomNameInterval);\r\n // this.isResponseChatLoading = true;\r\n // this.fetchMessageHistory();\r\n // }\r\n // }, 500);\r\n } else {\r\n this.isChatLoading = true;\r\n setTimeout(() => {\r\n this.isChatLoading = false;\r\n\r\n this.isChatLoadingError = true;\r\n }, 500);\r\n }\r\n }\r\n\r\n fetchMessageHistory() {\r\n const pageNo = this.chatbotService.pageNo;\r\n const pageSize = this.chatbotService.pageSize;\r\n if (this.chatbotService.roomName) {\r\n this.chatbotService\r\n .getMessageHistory(this.chatbotService.roomName, pageNo, pageSize)\r\n .then((messageHistory) => {\r\n if (\r\n messageHistory &&\r\n Array.isArray(messageHistory?.getMessageHistory)\r\n ) {\r\n const formattedMessages = messageHistory?.getMessageHistory.map(\r\n (msg) => ({\r\n sender: msg.from == \"Bot\" ? \"Bot\" : \"User\",\r\n data: {\r\n message: msg.content.message,\r\n data: msg.content.data || [],\r\n imageUrl: msg.content.message,\r\n audioUrl: msg.content.audioUrl,\r\n // type: msg.content.type,\r\n },\r\n })\r\n );\r\n this.messages = [...formattedMessages, ...this.messages];\r\n this.isResponseChatLoading = false;\r\n }\r\n this.scrollToBottom();\r\n this.isResponseChatLoading = false;\r\n });\r\n // .catch((err) => console.error(\"Error fetching message history:\", err));\r\n } else {\r\n this.isResponseChatLoading = false;\r\n\r\n // console.error(\"Room name is not available for fetching history.\");\r\n }\r\n }\r\n\r\n getMessageClass(msg: any): string {\r\n const messageType = msg.data.type || this.detectMessageType(msg.data.message);\r\n\r\n if (msg.sender !== \"Bot\") {\r\n return messageType === \"Image\" || messageType === \"Audio\"\r\n ? \"audio-image\"\r\n : \"user\";\r\n }\r\n return msg.data.data && msg.data.data.length > 0 ? \"fullai p-0\" : \"ai p-0\";\r\n }\r\n\r\n detectMessageType(data: string): string {\r\n if (this.isImageMessage(data)) return \"Image\";\r\n if (this.isAudioMessage(data)) return \"Audio\";\r\n return \"text\";\r\n }\r\n\r\n isImageMessage(data: string): boolean {\r\n return (\r\n typeof data === \"string\" &&\r\n (data.startsWith(\"data:image/\") ||\r\n /\\.(jpg|jpeg|png|gif|bmp|webp)$/i.test(data))\r\n );\r\n }\r\n\r\n isAudioMessage(data: string): boolean {\r\n return (\r\n typeof data === \"string\" &&\r\n (data.startsWith(\"data:audio/\") || /\\.(mp3|wav|ogg|pcm)$/i.test(data))\r\n );\r\n }\r\n\r\n isMediaMessage(data: string): boolean {\r\n return this.isImageMessage(data) || this.isAudioMessage(data);\r\n }\r\n\r\n toggleChat() {\r\n this.isChatOpen = !this.isChatOpen;\r\n if (this.isChatOpen) {\r\n this.startChat();\r\n }\r\n }\r\n\r\n sendMessage() {\r\n if (this.userMessage.trim()) {\r\n this.isResponseChatLoading = true;\r\n\r\n // this.messages.push({ sender: \"User\", text: this.userMessage });\r\n this.messages.push({\r\n sender: \"User\",\r\n data: {\r\n message: this.userMessage,\r\n data: [],\r\n type: \"text\",\r\n },\r\n });\r\n\r\n // Send the user's message to the SignalR server\r\n this.chatbotService.sendMessage(this.userMessage, \"Text\");\r\n\r\n this.userMessage = \"\";\r\n this.scrollToBottom();\r\n // this.isResponseChatLoading = false;\r\n }\r\n }\r\n\r\n // Handle keydown event to send message when pressing Enter\r\n onKeydown(event: KeyboardEvent) {\r\n if (event.key === \"Enter\") {\r\n this.sendMessage();\r\n }\r\n }\r\n\r\n triggerImageInput() {\r\n const imageInput = document.getElementById(\r\n \"imageInput\"\r\n ) as HTMLInputElement;\r\n imageInput.click();\r\n }\r\n\r\n onImageSelected(event: Event): void {\r\n const input = event.target as HTMLInputElement;\r\n if (input.files && input.files[0]) {\r\n this.isResponseChatLoading = true;\r\n const file = input.files[0];\r\n\r\n if (!file.type.startsWith(\"image/\")) {\r\n return;\r\n }\r\n\r\n const reader = new FileReader();\r\n reader.onload = (e: any) => {\r\n this.chatbotService.uploadImage(file).subscribe(\r\n (response) => {\r\n this.messages.push({\r\n sender: \"User\",\r\n data: {\r\n message: \"\",\r\n data: null,\r\n imageUrl: e.target.result,// Base64 image\r\n type: \"Image\",\r\n },\r\n });\r\n this.chatbotService.sendMessage(response?.data, \"Image\");\r\n this.scrollToBottom();\r\n },\r\n (error) => {}\r\n );\r\n };\r\n\r\n reader.readAsDataURL(file);\r\n input.value = \"\"; // Reset input value\r\n }\r\n }\r\n private scrollToBottom(): void {\r\n try {\r\n if (this.scrollAnchor) {\r\n setTimeout(() => {\r\n this.scrollAnchor.nativeElement.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"end\",\r\n });\r\n }, 0);\r\n }\r\n } catch (err) {\r\n // console.error(\"Error scrolling to bottom:\", err);\r\n }\r\n }\r\n\r\n showAudioScreen() {\r\n this.isAudioScreen = true;\r\n }\r\n\r\n closeAudioScreen() {\r\n this.isAudioScreen = false;\r\n }\r\n\r\n toggleRecording() {\r\n if (this.isRecording) {\r\n this.stopRecording();\r\n } else {\r\n this.startRecording();\r\n }\r\n }\r\n\r\n startRecording() {\r\n navigator.mediaDevices\r\n .getUserMedia({ audio: true })\r\n .then((stream) => {\r\n this.isRecording = true;\r\n this.mediaStream = stream;\r\n this.mediaRecorder = new MediaRecorder(stream);\r\n\r\n this.mediaRecorder.start();\r\n this.mediaRecorder.onerror = (event) => {\r\n console.error(\"Recording error:\", event);\r\n };\r\n })\r\n .catch((error) => {\r\n if (\r\n error.name === \"NotAllowedError\" ||\r\n error.name === \"PermissionDeniedError\"\r\n ) {\r\n alert(\r\n \"Microphone access is blocked. Please allow microphone access in your browser settings.\"\r\n );\r\n } else {\r\n alert(\"An error occurred while trying to access the microphone.\");\r\n }\r\n this.isRecording = false;\r\n });\r\n }\r\n\r\n stopRecording() {\r\n this.scrollToBottom();\r\n if (!this.isRecording || !this.mediaRecorder) return;\r\n this.isResponseChatLoading = true;\r\n\r\n this.isRecording = false;\r\n this.mediaRecorder.stop();\r\n\r\n // Stop all media tracks\r\n if (this.mediaStream) {\r\n this.mediaStream.getTracks().forEach((track) => track.stop());\r\n }\r\n\r\n // Handle audio data\r\n this.mediaRecorder.ondataavailable = (event) => {\r\n if (event.data.size > 0) {\r\n this.isChatLoading = true;\r\n const audioBlob = event.data;\r\n const audioUrl = URL.createObjectURL(audioBlob);\r\n this.isAudioScreen = false;\r\n this.isChatLoading = false;\r\n // Add audio to messages\r\n this.addAudioMessage(audioUrl);\r\n\r\n // Upload audio to the server\r\n this.uploadAudio(audioBlob);\r\n }\r\n };\r\n }\r\n\r\n uploadAudio(audioBlob: Blob) {\r\n this.chatbotService.uploadAudio(audioBlob).subscribe(\r\n (response) => {\r\n // // Add the audio message to the chat\r\n // this.messages.push({\r\n // sender: \"User\",\r\n // data: {\r\n // message: \"\",\r\n // data: [],\r\n // audioUrl: URL.createObjectURL(audioBlob),\r\n // },\r\n // });\r\n\r\n // Send the server response (if any)\r\n this.chatbotService.sendMessage(response?.data, \"Audio\");\r\n this.isChatLoading = false;\r\n this.isAudioScreen = false;\r\n this.scrollToBottom();\r\n },\r\n (error) => {\r\n this.isResponseChatLoading = false;\r\n }\r\n );\r\n }\r\n\r\n addAudioMessage(audioUrl: string) {\r\n const audioMessage = {\r\n sender: \"User\",\r\n data: {\r\n message: \"\",\r\n data: [],\r\n audioUrl: audioUrl,\r\n type: \"Audio\",\r\n },\r\n };\r\n this.messages.push(audioMessage);\r\n this.scrollToBottom();\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport {\r\n ActivatedRoute,\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n NavigationStart,\r\n Router,\r\n} from \"@angular/router\";\r\nimport { SiteProductService } from \"common/services/site/siteProduct.service\";\r\nimport { FilterAttributeModal } from \"common/_models/site/filter/filter-attribute.modal\";\r\nimport { FilterBrandModal } from \"common/_models/site/filter/filter-brand.modal\";\r\nimport { FilterValueModal } from \"common/_models/site/filter/filter-value.modal\";\r\nimport { ProductFilterModal } from \"common/_models/site/product-filter.modal\";\r\nimport { filter } from \"rxjs/operators\";\r\nimport { ProductFilerSortParam } from \"../../category/category.component\";\r\n\r\n@Component({\r\n selector: \"app-filter-sidebar\",\r\n templateUrl: \"./filter-sidebar.component.html\",\r\n styleUrls: [\"./filter-sidebar.component.css\"],\r\n})\r\nexport class FilterSidebarComponent implements OnInit, OnChanges {\r\n filters: ProductFilterModal = null;\r\n @Input() subCategoryId: number;\r\n @Input() categoryId: number;\r\n @Input() set setFilters(value: ProductFilterModal) {\r\n this.filters = value;\r\n }\r\n\r\n brands: FilterBrandModal[] = null;\r\n subCategories: FilterValueModal[] = null;\r\n attributes: FilterAttributeModal[] = null;\r\n\r\n searchForm: FormGroup;\r\n\r\n selectedBrands = [];\r\n selectedSubCategoryIds = [];\r\n selectedAttributeValues = [];\r\n\r\n navSubcription;\r\n\r\n productParams = {\r\n SearchColumn: \"\",\r\n SearchValue: \"\",\r\n SortColumn: \"\",\r\n BrandIds: {},\r\n SubCategoryIds: {},\r\n AttributeValueIds: {},\r\n CategoryId: 0,\r\n PageNo: 0,\r\n PageSize: 10,\r\n } as ProductFilerSortParam;\r\n\r\n constructor(\r\n private product: SiteProductService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private fb: FormBuilder\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.subCategoryId = this.subCategoryId > 0 ? this.subCategoryId : 0;\r\n this.categoryId = this.categoryId > 0 ? this.categoryId : 0;\r\n\r\n this.createSearchForm();\r\n this.selectedBrands = [];\r\n this.selectedSubCategoryIds = [];\r\n\r\n this.route.queryParams.subscribe((param) => {\r\n this.productParams.SearchValue =\r\n typeof param.SearchValue !== \"undefined\" ? param.SearchValue : \"\";\r\n if (this.productParams.SearchValue !== \"\") {\r\n this.searchForm\r\n .get(\"SearchValue\")\r\n .setValue(this.productParams.SearchValue);\r\n }\r\n\r\n this.productParams.BrandIds =\r\n typeof param.BrandIds !== \"undefined\" ? param.BrandIds.split(\",\") : [];\r\n\r\n for (let i = 0; i < this.productParams.BrandIds.length; i++) {\r\n if (this.selectedBrands.indexOf(this.productParams.BrandIds[i]) == -1) {\r\n this.selectedBrands.push(this.productParams.BrandIds[i]);\r\n }\r\n }\r\n\r\n this.productParams.SubCategoryIds =\r\n typeof param.SubCategoryIds !== \"undefined\"\r\n ? param.SubCategoryIds.split(\",\")\r\n : [];\r\n\r\n for (let i = 0; i < this.productParams.SubCategoryIds.length; i++) {\r\n if (\r\n this.selectedSubCategoryIds.indexOf(\r\n this.productParams.SubCategoryIds[i]\r\n ) == -1\r\n ) {\r\n this.selectedSubCategoryIds.push(\r\n this.productParams.SubCategoryIds[i]\r\n );\r\n }\r\n }\r\n\r\n this.productParams.AttributeValueIds =\r\n typeof param.AttributeValueIds !== \"undefined\"\r\n ? param.AttributeValueIds.split(\",\")\r\n : [];\r\n\r\n for (let i = 0; i < this.productParams.AttributeValueIds.length; i++) {\r\n if (\r\n this.selectedAttributeValues.indexOf(\r\n this.productParams.AttributeValueIds[i]\r\n ) == -1\r\n ) {\r\n this.selectedAttributeValues.push(\r\n this.productParams.AttributeValueIds[i]\r\n );\r\n }\r\n }\r\n });\r\n\r\n this.showFilters();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n //Called before any other lifecycle hook. Use it to inject dependencies, but avoid any serious work here.\r\n //Add '${implements OnChanges}' to the class.\r\n this.showFilters();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //Called once, before the instance is destroyed.\r\n //Add 'implements OnDestroy' to the class.\r\n this.selectedBrands = [];\r\n this.selectedSubCategoryIds = [];\r\n }\r\n\r\n showFilters() {\r\n // console.log(this.productFiletrs);\r\n if (this.filters !== null) {\r\n // this.filters = new ProductFilterModal().deserialize(this.productFiletrs);\r\n this.brands = this.filters.brands;\r\n this.subCategories = this.filters.categories;\r\n this.attributes = this.filters.attributes;\r\n }\r\n // if(this.productFiletrs !== null) {\r\n // this.filters = new ProductFilterModal().deserialize(this.productFiletrs);\r\n // this.brands = this.filters.brands;\r\n // this.subCategories = this.filters.categories;\r\n // this.attributes = this.filters.attributes;\r\n // } else {\r\n //this.getFilters();\r\n // }\r\n }\r\n\r\n getFilters() {\r\n this.product\r\n .getProductFilter(this.categoryId, this.subCategoryId)\r\n .subscribe(\r\n (data) => {\r\n const res = data as FilterResponse;\r\n if (res.status === true) {\r\n this.filters = new ProductFilterModal().deserialize(\r\n res.data.filters\r\n );\r\n\r\n this.brands = this.filters.brands;\r\n this.subCategories = this.filters.categories;\r\n this.attributes = this.filters.attributes;\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n }\r\n }\r\n );\r\n }\r\n\r\n createSearchForm() {\r\n this.searchForm = this.fb.group({\r\n SearchValue: [\"\"],\r\n });\r\n }\r\n\r\n submitSearchValue() {\r\n const SearchValue = this.searchForm.value.SearchValue;\r\n // if(SearchValue !== '') {\r\n this.router.navigate([], {\r\n queryParams: {\r\n SearchValue: SearchValue,\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n // }\r\n }\r\n\r\n brandChecked($event) {\r\n if ($event.target.checked) {\r\n this.selectedBrands.push($event.target.value);\r\n } else {\r\n let removeIndex = this.selectedBrands.findIndex(\r\n (itm) => itm === $event.target.value\r\n );\r\n if (removeIndex !== -1) this.selectedBrands.splice(removeIndex, 1);\r\n }\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n BrandIds: this.selectedBrands.join(\",\"),\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n\r\n subCatChecked($event) {\r\n if ($event.target.checked) {\r\n let findIndex = this.selectedSubCategoryIds.findIndex(\r\n (itm) => itm === $event.target.value\r\n );\r\n if (findIndex === -1) {\r\n this.selectedSubCategoryIds.push($event.target.value);\r\n }\r\n } else {\r\n let removeIndex = this.selectedSubCategoryIds.findIndex(\r\n (itm) => itm === $event.target.value\r\n );\r\n if (removeIndex !== -1)\r\n this.selectedSubCategoryIds.splice(removeIndex, 1);\r\n }\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n SubCategoryIds: this.selectedSubCategoryIds\r\n .filter((item) => item != \"\")\r\n .join(\",\"),\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n\r\n attributeChecked(attrId, $event) {\r\n if ($event.target.checked) {\r\n this.selectedAttributeValues.push($event.target.value);\r\n } else {\r\n let removeIndex = this.selectedAttributeValues.findIndex(\r\n (itm) => itm === $event.target.value\r\n );\r\n if (removeIndex !== -1)\r\n this.selectedAttributeValues.splice(removeIndex, 1);\r\n }\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n AttributeValueIds: this.selectedAttributeValues.join(\",\"),\r\n },\r\n queryParamsHandling: \"merge\",\r\n });\r\n }\r\n\r\n showAttributesSectionIfSelected(attributesValues: any[]): boolean {\r\n const isFound = attributesValues.some((obj) =>\r\n this.productParams.AttributeValueIds.includes(obj.id.toString())\r\n );\r\n\r\n return isFound;\r\n }\r\n}\r\n\r\ninterface FilterResponse {\r\n status: boolean;\r\n message: string;\r\n data: ResponseData;\r\n}\r\n\r\ninterface ResponseData {\r\n filters: ProductFilterModal;\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\n@Component({\r\n selector: \"app-footer\",\r\n templateUrl: \"./footer.component.html\",\r\n styleUrls: [\"./footer.component.css\"],\r\n})\r\nexport class FooterComponent implements OnInit {\r\n currentYear: number;\r\n siteTitle: string;\r\n config = constEnv;\r\n logoUrl;\r\n\r\n constructor(public gs: GeneralService) {}\r\n\r\n ngOnInit() {\r\n this.currentYear = new Date().getFullYear();\r\n\r\n this.siteTitle = this.gs.getSettings(\"title\");\r\n this.logoUrl = this.gs.getSiteLogo(true);\r\n }\r\n}\r\n","import { Component, HostListener, OnInit, ViewChild } from \"@angular/core\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { CartService } from \"common/services/site/cartservice\";\r\nimport { EventEmitterService } from \"common/services/event-emitter.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { ViewportScroller } from \"@angular/common\";\r\nimport {\r\n animate,\r\n state,\r\n style,\r\n transition,\r\n trigger,\r\n} from \"@angular/animations\";\r\nimport { MatSidenav } from \"@angular/material/sidenav\";\r\nimport { FixedElementService } from \"common/services/fixed-element.service\";\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-header\",\r\n templateUrl: \"./header.component.html\",\r\n styleUrls: [\"./header.component.css\"],\r\n animations: [\r\n trigger(\"slideInOut\", [\r\n state(\"in\", style({ transform: \"translateX(0)\" })),\r\n state(\"out\", style({ transform: \"translateX(-100%)\" })),\r\n transition(\"in => out\", animate(\"400ms ease-out\")),\r\n transition(\"out => in\", animate(\"400ms ease-in\")),\r\n ]),\r\n trigger(\"slideOutIn\", [\r\n state(\"in\", style({ transform: \"translateX(0)\" })),\r\n state(\"out\", style({ transform: \"translateX(100%)\" })),\r\n transition(\"in => out\", animate(\"400ms ease-out\")),\r\n transition(\"out => in\", animate(\"400ms ease-in\")),\r\n ]),\r\n ],\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n logoUrl;\r\n siteTitle;\r\n\r\n config = constEnv;\r\n isUserLoggedIn = false;\r\n\r\n cartCount = 0;\r\n wishListCount = 0;\r\n\r\n cartCountEventsubscription: Subscription;\r\n\r\n availableLangauges: any[] = [];\r\n currentLanguage: string;\r\n defaultLanguage: any = {};\r\n\r\n mainMenu: SiteMainMenu[] = null;\r\n console = console;\r\n\r\n showCategorySubMenu = false;\r\n categorySubMenu = [];\r\n @ViewChild(\"sidenav\", { static: false }) sidenav: MatSidenav;\r\n categoryMenu = [];\r\n\r\n headerStyle = {};\r\n\r\n constructor(\r\n private gs: GeneralService,\r\n private route: ActivatedRoute,\r\n private isLoadingService: IsLoadingService,\r\n private langService: LanguageService,\r\n public router: Router,\r\n private authenticationService: AuthenticationService,\r\n private cart: CartService,\r\n private eventEmitterService: EventEmitterService,\r\n private viewPosrtScroller: ViewportScroller,\r\n private fixedElementService: FixedElementService\r\n ) {}\r\n\r\n ngOnInit() {\r\n // this.logoUrl = './asstes/images/logo/furni-logo.svg';\r\n this.logoUrl = this.gs.getSiteLogo(true);\r\n this.siteTitle = this.config.projectTitle;\r\n\r\n this.isUserLoggedIn = this.authenticationService.currentUserValue\r\n ? true\r\n : false;\r\n\r\n this.fixedElementService.fixedElementHeight$.subscribe((height) => {\r\n this.headerStyle = { \"margin-top\": `${height}px` };\r\n });\r\n\r\n // if (this.eventEmitterService.subsVar==undefined) {\r\n // this.eventEmitterService.subsVar = this.eventEmitterService.\r\n // invokeSiteHeaderFunction.subscribe((name:string) => {\r\n // this.getCartCount();\r\n // });\r\n // }\r\n\r\n this.cartCountEventsubscription = this.cart\r\n .getCartCountEvent()\r\n .subscribe(() => {\r\n this.getCartCount();\r\n });\r\n\r\n this.availableLangauges = this.langService.getAvailableLanguages();\r\n this.currentLanguage = this.langService.getCurrentLanguage();\r\n this.defaultLanguage = this.langService.getDefaultLanguage();\r\n\r\n this.getCategory();\r\n\r\n this.getCartCount();\r\n }\r\n\r\n scrollToElement($elementId: string): void {\r\n this.viewPosrtScroller.scrollToAnchor($elementId);\r\n }\r\n\r\n getCategory() {\r\n let catData = null;\r\n this.gs.getSiteCategory().subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n // console.log(data['data']);\r\n catData = data[\"data\"] as CategoryMenu[];\r\n this.setMainMenu(catData);\r\n } else {\r\n this.setMainMenu();\r\n }\r\n },\r\n (err) => {\r\n this.setMainMenu();\r\n }\r\n );\r\n }\r\n\r\n logout() {\r\n this.isLoadingService.add();\r\n // this.langService.changeLanguage(this.langService.defaultLanguage);\r\n this.authenticationService.logout();\r\n const loginURL = `${this.config.BASE_URL}login`;\r\n\r\n const settingLang = this.gs.getSettings(\"default_language\");\r\n\r\n const changeLangCode =\r\n settingLang !== \"\" ? settingLang : this.langService.defaultLanguage;\r\n\r\n this.langService.getAvailableLanguages().map((lang) => {\r\n if (changeLangCode === lang.lang_code) {\r\n this.langService._setLanguage(lang.lang_code);\r\n localStorage.setItem(\"defaultLang\", JSON.stringify(lang));\r\n }\r\n });\r\n\r\n this.langService\r\n .getLanguageTranslation(this.langService.getCurrentLanguage())\r\n .subscribe((translationsJSON) => {\r\n this.langService.setLanguageTranslation(translationsJSON);\r\n window.location.href = loginURL;\r\n });\r\n }\r\n\r\n setMainMenu(subMenu: CategoryMenu[] = null) {\r\n this.categoryMenu = [];\r\n if (subMenu !== null) {\r\n subMenu.forEach((element) => {\r\n let submenuItems = [];\r\n\r\n if (element.subCategoryList && element.subCategoryList.length > 0) {\r\n element.subCategoryList.forEach((submenu) => {\r\n submenuItems.push({\r\n title: submenu.subCategoryName,\r\n id: submenu.subCategoryId,\r\n url: `${this.config.BASE_URL}/category/${element.categoryId}/${submenu.subCategoryId}`,\r\n child: [],\r\n });\r\n });\r\n }\r\n\r\n this.categoryMenu.push({\r\n title: element.categoryName,\r\n id: element.categoryId,\r\n url: `${this.config.BASE_URL}/category/${element.categoryId}`,\r\n child: submenuItems,\r\n });\r\n });\r\n }\r\n\r\n this.mainMenu = [\r\n {\r\n title: \"All\",\r\n id: 0,\r\n url: this.sidenav,\r\n child: this.categoryMenu,\r\n },\r\n\r\n {\r\n title: \"HotDeals\",\r\n id: 0,\r\n url: `${this.config.BASE_URL}/hot-deals`,\r\n child: [],\r\n },\r\n {\r\n title: \"LastMinuteDeals\",\r\n id: 0,\r\n url: `${this.config.BASE_URL}/last-minute-deals`,\r\n child: [],\r\n },\r\n {\r\n title: \"DesignerCatalogs\",\r\n id: 0,\r\n url: `${this.config.BASE_URL}/designer-catalog`,\r\n child: [],\r\n },\r\n {\r\n title: \"STORE_About_Us\",\r\n id: 0,\r\n url: `${this.config.BASE_URL}/page/aboutus`,\r\n child: [],\r\n },\r\n // { title: 'FAQ', id: 0, url: `${this.config.BASE_URL}/faq`, child: [] },\r\n // { title: 'Terms_Conditions', id: 0, url: `${this.config.BASE_URL}/page/termsofuse`, child: [] },\r\n // { title: 'STORE_Privacy_Policy', id: 0, url: `${this.config.BASE_URL}/page/privacypolicy`, child: [] },\r\n // { title: 'Contact', id: 0, url: `${this.config.BASE_URL}/contact`, child: [] },\r\n // { title: 'Accent', id: 7, url: `${this.config.BASE_URL}/category/7`, child: [] },\r\n // { title: 'Mattresses', id: 8, url: `${this.config.BASE_URL}/category/8`, child: [] },\r\n ] as SiteMainMenu[];\r\n }\r\n\r\n getCartCount() {\r\n if (this.isUserLoggedIn) {\r\n this.cart.getCartCount().subscribe(\r\n (data) => {\r\n this.cartCount =\r\n typeof data[\"data\"] !== \"undefined\" && data[\"data\"] > 0\r\n ? data[\"data\"]\r\n : 0;\r\n this.wishListCount =\r\n typeof data[\"wishlistCount\"] !== \"undefined\" &&\r\n data[\"wishlistCount\"] > 0\r\n ? data[\"wishlistCount\"]\r\n : 0;\r\n },\r\n (err) => {\r\n this.cartCount = 0;\r\n this.wishListCount = 0;\r\n }\r\n );\r\n }\r\n }\r\n\r\n changeLanguage(selectedLang: string) {\r\n if (this.currentLanguage !== selectedLang) {\r\n this.isLoadingService.add();\r\n // this.ls.changeLanguage( lang );\r\n\r\n const changeLangCode = selectedLang;\r\n\r\n this.langService\r\n .getAllLanguages()\r\n .pipe()\r\n .subscribe((data) => {\r\n const apiLangs =\r\n typeof data[\"data\"] !== \"undefined\" ? data[\"data\"] : [];\r\n this.langService.setAvailableLanguages(apiLangs);\r\n apiLangs.map((lang) => {\r\n this.langService.languages.push(lang.lang_code);\r\n if (changeLangCode !== \"\") {\r\n if (changeLangCode === lang.lang_code) {\r\n this.langService._setLanguage(lang.lang_code);\r\n localStorage.setItem(\"defaultLang\", JSON.stringify(lang));\r\n\r\n this.langService\r\n .getLanguageTranslation(this.langService.getCurrentLanguage())\r\n .pipe()\r\n .subscribe((translationsJSON) => {\r\n this.langService.setLanguageTranslation(translationsJSON);\r\n\r\n if (this.isUserLoggedIn) {\r\n this.authenticationService\r\n .userLanguagePreference(lang.id)\r\n .subscribe(\r\n (data) => {\r\n window.location.href = window.location.href;\r\n },\r\n (err) => {\r\n //location.href = location.href;\r\n }\r\n );\r\n } else {\r\n window.location.href = window.location.href;\r\n }\r\n });\r\n }\r\n } else {\r\n if (lang.default_lang === \"1\") {\r\n this.langService.defaultLanguage = lang.lang_code;\r\n this.langService._setLanguage(lang.lang_code);\r\n localStorage.setItem(\"defaultLang\", JSON.stringify(lang));\r\n\r\n this.langService\r\n .getLanguageTranslation(this.langService.getCurrentLanguage())\r\n .pipe()\r\n .subscribe((translationsJSON) => {\r\n this.langService.setLanguageTranslation(translationsJSON);\r\n if (this.isUserLoggedIn) {\r\n this.authenticationService\r\n .userLanguagePreference(lang.id)\r\n .subscribe(\r\n (data) => {\r\n window.location.href = window.location.href;\r\n },\r\n (err) => {\r\n window.location.href = window.location.href;\r\n }\r\n );\r\n } else {\r\n window.location.href = window.location.href;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n });\r\n\r\n // setTimeout(() => {\r\n // location.reload();\r\n // }, 2000);\r\n }\r\n }\r\n\r\n loadJqueryFunction() {\r\n $(\".dropdown-menu a.dropdown-toggle\").on(\"click\", function (e) {\r\n var $el = $(this);\r\n $el.toggleClass(\"active-dropdown\");\r\n var $parent = $(this).offsetParent(\".dropdown-menu\");\r\n if (!$(this).next().hasClass(\"show\")) {\r\n $(this)\r\n .parents(\".dropdown-menu\")\r\n .first()\r\n .find(\".show\")\r\n .removeClass(\"show\");\r\n }\r\n var $subMenu = $(this).next(\".dropdown-menu\");\r\n $subMenu.toggleClass(\"show\");\r\n\r\n $(this).parent(\"li\").toggleClass(\"show\");\r\n\r\n $(this)\r\n .parents(\"li.nav-item.dropdown.show\")\r\n .on(\"hidden.bs.dropdown\", function (e) {\r\n $(\".dropdown-menu .show\").addClass(\"show01\");\r\n $(\".dropdown-menu .show\").removeClass(\"show\");\r\n $el.removeClass(\"active-dropdown\");\r\n });\r\n\r\n if (!$parent.parent().hasClass(\"navbar-nav\")) {\r\n $el\r\n .next()\r\n .css({ top: $el[0].offsetTop, left: $parent.outerWidth() - 4 });\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n // category slide nav menu\r\n categoryMainMenuClicked(item: any) {\r\n if (item.child && item.child.length > 0) {\r\n this.showCategorySubMenu = true;\r\n this.categorySubMenu = item.child;\r\n } else {\r\n this.navigateByUrl(item.url);\r\n }\r\n }\r\n\r\n onSubCategoryMenuClicked(item) {\r\n this.navigateByUrl(item.url);\r\n }\r\n\r\n navigateByUrl(url: string) {\r\n this.sidenav.close();\r\n\r\n this.router.navigateByUrl(url);\r\n }\r\n\r\n goBack() {\r\n this.showCategorySubMenu = false;\r\n }\r\n\r\n closeSideNav() {\r\n this.sidenav.close();\r\n }\r\n\r\n onClosedSlideNav() {\r\n this.showCategorySubMenu = false;\r\n }\r\n\r\n openSlideMenu(ele: any) {\r\n const slideNav = typeof ele !== \"undefined\" ? ele : this.sidenav;\r\n slideNav.open();\r\n }\r\n\r\n // category slide nav menu end\r\n\r\n isSticky: boolean = false;\r\n\r\n @HostListener(\"window:scroll\", [])\r\n onWindowScroll() {\r\n const offset =\r\n window.pageYOffset ||\r\n document.documentElement.scrollTop ||\r\n document.body.scrollTop ||\r\n 0;\r\n\r\n this.isSticky = offset > 100; // Apply sticky class after scrolling 100px\r\n }\r\n}\r\n\r\ninterface SiteMainMenu {\r\n title: string;\r\n id: number;\r\n url: string;\r\n child: SiteMainMenu[];\r\n}\r\n\r\ninterface CategoryMenu {\r\n categoryId: number;\r\n categoryName: string;\r\n subCategoryList?: SubCategory[];\r\n}\r\n\r\ninterface SubCategory {\r\n categoryId: number;\r\n subCategoryId: number;\r\n subCategoryName: string;\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { HeaderComponent } from \"./header/header.component\";\r\nimport { FooterComponent } from \"./footer/footer.component\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { FilterSidebarComponent } from \"./filter-sidebar/filter-sidebar.component\";\r\nimport { DropdownToggleDirective } from \"common/directives/dropdown-toggle.directive\";\r\n// import { ChatBotComponent } from './chat-bot/chat-bot.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n HeaderComponent,\r\n FooterComponent,\r\n FilterSidebarComponent,\r\n DropdownToggleDirective,\r\n // ChatBotComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n BrowserModule,\r\n ReactiveFormsModule,\r\n TranslateModule,\r\n RouterModule,\r\n MaterialModule,\r\n FormsModule\r\n ],\r\n exports: [HeaderComponent, FooterComponent, FilterSidebarComponent],\r\n})\r\nexport class TemplateModule {}\r\n","import {\r\n Component,\r\n ElementRef,\r\n NgZone,\r\n OnInit,\r\n ViewChild,\r\n TemplateRef,\r\n ChangeDetectorRef,\r\n} from \"@angular/core\";\r\nimport {\r\n AbstractControl,\r\n FormBuilder,\r\n FormGroup,\r\n ValidatorFn,\r\n Validators,\r\n} from \"@angular/forms\";\r\n// import { MapsAPILoader } from \"@agm/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { Subscription, combineLatest } from \"rxjs\";\r\nimport { BsModalService, BsModalRef } from \"ngx-bootstrap/modal\";\r\nimport { AddressInfo } from \"common/_components/maps/interfaces/address-info\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\n\r\ninterface Marker {\r\n lat: number;\r\n lng: number;\r\n label?: string;\r\n draggable: boolean;\r\n}\r\n\r\n@Component({\r\n selector: \"app-add-address\",\r\n templateUrl: \"./add-address.component.html\",\r\n styleUrls: [\"./add-address.component.css\"],\r\n})\r\nexport class AddAddressComponent implements OnInit {\r\n addressForm: FormGroup;\r\n action: string;\r\n id: number;\r\n markers: Marker[] = [];\r\n zoom: number;\r\n lat: number;\r\n lng: number;\r\n\r\n private geoCoder;\r\n config = constEnv;\r\n submitted: boolean;\r\n listUrl: string;\r\n subscriptions: Subscription[] = [];\r\n selectedAddressId = 0;\r\n\r\n @ViewChild(\"search\", { static: false })\r\n public searchElementRef: ElementRef;\r\n\r\n selectedType = \"home\";\r\n addressTypes = [\r\n { name: \"home\", value: \"Home\" },\r\n { name: \"office\", value: \"USER_Office\" },\r\n { name: \"other\", value: \"USER_Other\" },\r\n ];\r\n loading = false;\r\n modalRef: BsModalRef;\r\n\r\n countryLists: countryList[] = [];\r\n stateLists: stateList[] = [];\r\n cityLists: cityList[] = [];\r\n\r\n pageTitle: string = \"\";\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private fb: FormBuilder,\r\n // private mapsAPILoader: MapsAPILoader,\r\n private ngZone: NgZone,\r\n private ls: LoaderService,\r\n private customer: CustomerService,\r\n private general: GeneralService,\r\n private alert: AlertService,\r\n private router: Router // private modalService: BsModalService, // private changeDetection: ChangeDetectorRef\r\n ) {\r\n this.action = route.snapshot.params.action;\r\n this.listUrl = `${this.config.CUSTOMER_URL}/address`;\r\n }\r\n\r\n ngOnInit() {\r\n this.zoom = 8;\r\n\r\n this.lat = 51.673858;\r\n this.lng = 7.815982;\r\n\r\n this.makeForm();\r\n this.checkValidAction();\r\n this.setActionVariables();\r\n }\r\n private makeForm() {\r\n // const zipCodeRegex: RegExp =/^(?!.*[\\s-]{2,})[A-Za-z0-9][A-Za-z\\d\\- ]{0,22}[A-Za-z\\d]$/;\r\n\r\n this.addressForm = this.fb.group({\r\n AddressId: [0],\r\n Location: [\"\", Validators.required],\r\n Longitude: [\"\"],\r\n Latitude: [\"\"],\r\n AddressLine: [\"\", Validators.required],\r\n AddressLine1: [\"\", Validators.required],\r\n AddressLine2: [\"\"],\r\n Landmark: [\"\"],\r\n ZipCode: [\"\", [Validators.required, this.zipCodeValidator()]],\r\n type: [this.selectedType],\r\n CountryName: [null, Validators.required],\r\n StateName: [null, Validators.required],\r\n CityName: [null, Validators.required],\r\n additionalAddressLine: [\"\"],\r\n });\r\n }\r\n\r\n get f() {\r\n return this.addressForm.controls;\r\n }\r\n\r\n zipCodeValidator(): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n const value = control.value;\r\n if (!value) return null;\r\n if (\r\n value.startsWith(\" \") ||\r\n value.endsWith(\" \") ||\r\n value.startsWith(\"-\") ||\r\n value.endsWith(\"-\")\r\n ) {\r\n return { invalidZipCode: { value: control.value } };\r\n }\r\n const spacesCount = (value.match(/ /g) || []).length;\r\n const dashesCount = (value.match(/-/g) || []).length;\r\n\r\n if (spacesCount > 1 || dashesCount > 1) {\r\n return { invalidZipCode: { value: control.value } };\r\n }\r\n\r\n const regex = /^[a-zA-Z0-9\\- ]+$/;\r\n if (!regex.test(value)) {\r\n return { invalidZipCode: { value: control.value } };\r\n }\r\n\r\n return null;\r\n };\r\n }\r\n\r\n private setActionVariables() {\r\n // if (this.action === 'add') {\r\n // this.pageTitle = 'Add Address';\r\n // this.buttonActionText = 'USER_SAVE_ADDRESS';\r\n // } else {\r\n // this.pageTitle = 'Edit Address';\r\n // this.buttonActionText = 'USER_SAVE_ADDRESS';\r\n // }\r\n // this.placeAutoCompleteField();\r\n //this.titleService.setTitle(this.pageTitle);\r\n\r\n this.getCountryList();\r\n }\r\n // private placeAutoCompleteField() {\r\n // this.mapsAPILoader.load().then(() => {\r\n // if (this.action === \"add\") {\r\n // //this.setCurrentLocation();\r\n // }\r\n\r\n // this.geoCoder = new google.maps.Geocoder();\r\n\r\n // const autocomplete = new google.maps.places.Autocomplete(\r\n // this.searchElementRef.nativeElement,\r\n // {\r\n // types: [\"address\"],\r\n // }\r\n // );\r\n // autocomplete.addListener(\"place_changed\", () => {\r\n // this.ngZone.run(() => {\r\n // // get the place result\r\n // const place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n\r\n // // verify result\r\n // if (place.geometry === undefined || place.geometry === null) {\r\n // return;\r\n // }\r\n\r\n // // set latitude, longitude and zoom\r\n // this.lat = place.geometry.location.lat();\r\n // this.lng = place.geometry.location.lng();\r\n // this.zoom = 12;\r\n // this.markers = [];\r\n // this.createMarker(this.lat, this.lng, \"\", true);\r\n // this.getAddress(this.lat, this.lng);\r\n // });\r\n // });\r\n // });\r\n // }\r\n // private setCurrentLocation() {\r\n // if (\"geolocation\" in navigator) {\r\n // navigator.geolocation.getCurrentPosition((position) => {\r\n // this.lat = position.coords.latitude;\r\n // this.lng = position.coords.longitude;\r\n // this.zoom = 12;\r\n\r\n // this.createMarker(this.lat, this.lng, \"\", true);\r\n // this.getAddress(this.lat, this.lng);\r\n // });\r\n // }\r\n // }\r\n createMarker(lat, lng, label = \"\", draggable = false) {\r\n this.markers.push({\r\n lat,\r\n lng,\r\n label,\r\n draggable,\r\n });\r\n }\r\n // markerDragEnd(m: Marker, $event: MouseEvent) {\r\n // this.lat = $event[\"coords\"].lat;\r\n // this.lng = $event[\"coords\"].lng;\r\n\r\n // this.getAddress(this.lat, this.lng);\r\n // }\r\n\r\n isArabic(text: string): boolean {\r\n const arRergEx =\r\n /[\\u0600-\\u06ff]|[\\u0750-\\u077f]|[\\ufb50-\\ufc3f]|[\\ufe70-\\ufefc]/;\r\n\r\n return arRergEx.test(text) ? true : false;\r\n }\r\n\r\n // getAddress(latitude, longitude) {\r\n // this.geoCoder.geocode(\r\n // { location: { lat: latitude, lng: longitude } },\r\n // (results, status) => {\r\n // if (status === \"OK\") {\r\n // let isArabicWord = false;\r\n // if (results[0]) {\r\n // const addressComponent = results[0].address_components;\r\n\r\n // let city = \"\";\r\n // let state_name = \"\";\r\n // addressComponent.forEach((adrComponent) => {\r\n // const types = adrComponent.types;\r\n // if (types.indexOf(\"administrative_area_level_1\") !== -1) {\r\n // state_name = adrComponent.long_name;\r\n // }\r\n\r\n // if (types.indexOf(\"administrative_area_level_2\") !== -1) {\r\n // city = adrComponent.long_name;\r\n // }\r\n // });\r\n\r\n // if (city !== \"\") {\r\n // isArabicWord = this.isArabic(city);\r\n // }\r\n\r\n // if (state_name !== \"\") {\r\n // isArabicWord = this.isArabic(state_name);\r\n // }\r\n // }\r\n\r\n // let resultAddr = isArabicWord ? results[1] : results[0];\r\n\r\n // if (resultAddr) {\r\n // this.zoom = 12;\r\n // this.addressForm\r\n // .get(\"Location\")\r\n // .setValue(resultAddr.formatted_address);\r\n // if (typeof resultAddr.address_components !== \"undefined\") {\r\n // const addressComponent = resultAddr.address_components;\r\n\r\n // addressComponent.forEach((adrComponent) => {\r\n // const types = adrComponent.types;\r\n // if (types.indexOf(\"country\") !== -1) {\r\n // this.addressForm\r\n // .get(\"CountryName\")\r\n // .setValue(adrComponent.long_name);\r\n // }\r\n // if (types.indexOf(\"administrative_area_level_1\") !== -1) {\r\n // this.addressForm\r\n // .get(\"StateName\")\r\n // .setValue(adrComponent.long_name);\r\n // }\r\n\r\n // if (types.indexOf(\"administrative_area_level_2\") !== -1) {\r\n // this.addressForm\r\n // .get(\"CityName\")\r\n // .setValue(adrComponent.long_name);\r\n // } else {\r\n // this.addressForm.get(\"CityName\").setValue(\"\");\r\n // }\r\n // if (types.indexOf(\"postal_code\") !== -1) {\r\n // this.addressForm\r\n // .get(\"ZipCode\")\r\n // .setValue(adrComponent.long_name);\r\n // }\r\n // });\r\n\r\n // this.lat = resultAddr.geometry.location.lat();\r\n // this.lng = resultAddr.geometry.location.lng();\r\n\r\n // this.addressForm.get(\"Latitude\").setValue(this.lat);\r\n // this.addressForm.get(\"Longitude\").setValue(this.lng);\r\n // }\r\n // } else {\r\n // window.alert(\"No results found\");\r\n // }\r\n // } else {\r\n // window.alert(\"Geocoder failed due to: \" + status);\r\n // }\r\n // }\r\n // );\r\n // }\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.addressForm.invalid) {\r\n return;\r\n }\r\n\r\n // const country = this.countryLists.find(country => country.countryId == this.addressForm.value.CountryName);\r\n // const state = this.stateLists.find(state => state.stateId == this.addressForm.value.StateName);\r\n // const city = this.cityLists.find(city => city.cityId == this.addressForm.value.CityName);\r\n\r\n // this.addressForm.patchValue({\r\n // CountryName: country.countryName,\r\n // StateName: state.stateName,\r\n // CityName: city.cityName\r\n // });\r\n\r\n this.loading = true;\r\n this.ls.showLoader();\r\n\r\n this.customer\r\n .updateCustomerAddress(this.addressForm.value)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.ls.hideLoader();\r\n // setTimeout(() => {\r\n const returnUrl = this.route.snapshot.queryParams[\"returnUrl\"];\r\n\r\n if (returnUrl) {\r\n this.router.navigateByUrl(returnUrl);\r\n } else {\r\n this.router.navigate([`${this.listUrl}`]);\r\n }\r\n // }, 1000);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.ls.hideLoader();\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n private checkValidAction() {\r\n if (this.action !== \"add\" && this.action !== \"edit\") {\r\n this.router.navigate([this.listUrl]);\r\n return false;\r\n }\r\n\r\n this.pageTitle = \"USER_Add_New_Address\";\r\n if (this.action === \"edit\") {\r\n const id = this.route.snapshot.params.id;\r\n this.id = typeof id !== \"undefined\" ? id : 0;\r\n if (this.id <= 0) {\r\n this.router.navigate([this.listUrl]);\r\n return false;\r\n }\r\n\r\n this.pageTitle = \"UpdateAddress\";\r\n\r\n this.getAddressById();\r\n }\r\n }\r\n getAddressById() {\r\n this.ls.showLoader();\r\n this.customer\r\n .getCustomerAddressese(this.id)\r\n .pipe(first())\r\n .subscribe(\r\n (res) => {\r\n console.log(res);\r\n if (res[\"status\"] === true) {\r\n this.setFromValues(res[\"data\"]);\r\n } else {\r\n this.alert.danger(res[\"message\"]);\r\n }\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(msg);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n private setFromValues(formData) {\r\n // console.log(formData);\r\n this.onCountryChange(formData.countryName);\r\n this.onStateChange(formData.stateName);\r\n\r\n this.addressForm.get(\"AddressId\").setValue(formData.addressId);\r\n this.addressForm.get(\"Location\").setValue(formData.location);\r\n this.addressForm.get(\"Latitude\").setValue(formData.latitude);\r\n this.addressForm.get(\"Longitude\").setValue(formData.longitude);\r\n this.addressForm.get(\"AddressLine\").setValue(formData.addressLine);\r\n this.addressForm.get(\"ZipCode\").setValue(formData.zipCode);\r\n this.addressForm.get(\"AddressLine1\").setValue(formData.addressLine1);\r\n this.addressForm.get(\"AddressLine2\").setValue(formData.addressLine2);\r\n this.addressForm.get(\"Landmark\").setValue(formData.landmark);\r\n this.addressForm.get(\"type\").setValue(formData.type);\r\n this.addressForm\r\n .get(\"additionalAddressLine\")\r\n .setValue(formData.additionalAddressLine);\r\n\r\n // this.addressForm.get(\"CountryName\").setValue(formData.countryName);\r\n // this.addressForm.get(\"StateName\").setValue(formData.stateName);\r\n // this.addressForm.get(\"CityName\").setValue(formData.cityName);\r\n\r\n // setTimeout(() => {\r\n this.addressForm\r\n .get(\"CountryName\")\r\n .setValue(\r\n formData.countryName > 0 ? parseInt(formData.countryName) : null\r\n );\r\n this.addressForm\r\n .get(\"StateName\")\r\n .setValue(formData.stateName > 0 ? parseInt(formData.stateName) : null);\r\n this.addressForm\r\n .get(\"CityName\")\r\n .setValue(formData.cityName > 0 ? parseInt(formData.cityName) : null);\r\n // }, 2000);\r\n\r\n this.lat = parseFloat(formData.latitude);\r\n this.lng = parseFloat(formData.longitude);\r\n this.zoom = 14;\r\n\r\n this.markers = [];\r\n this.createMarker(this.lat, this.lng, \"\", true);\r\n }\r\n\r\n getSelectedAddress(address: AddressInfo) {\r\n if (address) {\r\n // console.log(address);\r\n this.addressForm.get(\"Location\").setValue(address.text);\r\n this.addressForm.get(\"Latitude\").setValue(address.latlng.lat);\r\n this.addressForm.get(\"Longitude\").setValue(address.latlng.lng);\r\n const selectedCountry = this.countryLists.find(\r\n (item) => item.countryName === address.properties.CntryName\r\n );\r\n if (selectedCountry) {\r\n this.addressForm.get(\"CountryName\").setValue(selectedCountry.countryId);\r\n this.onCountryChange(selectedCountry.countryId);\r\n }\r\n setTimeout(() => {\r\n const selectedState = this.stateLists.find(\r\n (item) => item.stateName === address.properties.Region\r\n );\r\n if (selectedState) {\r\n this.addressForm.get(\"StateName\").setValue(selectedState.stateId);\r\n this.onStateChange(selectedState.stateId);\r\n }\r\n setTimeout(() => {\r\n const selectedCity = this.cityLists.find(\r\n (item) => item.cityName === address.properties.City\r\n );\r\n if (selectedCity) {\r\n this.addressForm.get(\"CityName\").setValue(selectedCity.cityId);\r\n }\r\n }, 500);\r\n }, 500);\r\n // this.addressForm.get(\"AddressLine\").setValue(storeData.addressLine);\r\n const postalCode = address.properties.PostalExt\r\n ? address.properties.Postal + \" \" + address.properties.PostalExt\r\n : address.properties.Postal;\r\n this.addressForm.get(\"ZipCode\").setValue(postalCode);\r\n const stAddress = address.properties.StAddr\r\n ? address.properties.StAddr\r\n : \"\";\r\n const stAddressLine = address.properties.Address\r\n ? address.properties.Address\r\n : \"\";\r\n const addressLine1 = stAddress ? stAddress : stAddressLine;\r\n this.addressForm.get(\"AddressLine1\").setValue(addressLine1);\r\n const nbrhd = address.properties.Nbrhd ? address.properties.Nbrhd : \"\";\r\n const nbrhdLine = address.properties.Neighborhood\r\n ? address.properties.Neighborhood\r\n : \"\";\r\n const neighborhood = nbrhd ? nbrhd : nbrhdLine;\r\n this.addressForm.get(\"Landmark\").setValue(neighborhood);\r\n this.updateAddressLine();\r\n }\r\n }\r\n\r\n updateAddressLine() {\r\n const addressLine1 = this.addressForm.get(\"AddressLine1\").value;\r\n const addressLine2 = this.addressForm.get(\"AddressLine2\").value;\r\n const landmark = this.addressForm.get(\"Landmark\").value;\r\n const postcode = this.addressForm.get(\"ZipCode\").value;\r\n\r\n const combinedAddress = [addressLine1, addressLine2, landmark, postcode]\r\n .filter(Boolean)\r\n .join(\", \");\r\n\r\n this.addressForm.get(\"AddressLine\").setValue(combinedAddress);\r\n }\r\n\r\n private getCountryList() {\r\n this.general.getAllCountry().subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.countryLists = data[\"data\"] as countryList[];\r\n }\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n onCountryChange(countryId: number) {\r\n if (countryId > 0) {\r\n this.ls.showLoader();\r\n this.stateLists = [];\r\n this.cityLists = [];\r\n this.addressForm.get(\"StateName\").setValue(null);\r\n this.addressForm.get(\"CityName\").setValue(null);\r\n this.general.getstateByCountryId(countryId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.stateLists = data[\"data\"];\r\n }\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n } else {\r\n this.stateLists = [];\r\n this.cityLists = [];\r\n }\r\n }\r\n\r\n onStateChange(stateId: number) {\r\n if (stateId > 0) {\r\n this.ls.showLoader();\r\n this.cityLists = [];\r\n this.addressForm.get(\"CityName\").setValue(null);\r\n this.general.getcityByStateId(stateId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.cityLists = data[\"data\"];\r\n }\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n } else {\r\n this.cityLists = [];\r\n }\r\n }\r\n}\r\n\r\ninterface countryList {\r\n countryId: number;\r\n countryName?: string;\r\n}\r\n\r\ninterface stateList {\r\n stateId: number;\r\n stateName?: string;\r\n}\r\n\r\ninterface cityList {\r\n cityId: number;\r\n cityName?: string;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AddressComponent } from './address/address.component';\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\nimport { AddAddressComponent } from './add-address/add-address.component';\r\n\r\nconst ADDRESS_ENDPOINT = `${constEnv.customerEndPoint}/address`;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${ADDRESS_ENDPOINT}`,\r\n children: [\r\n { path: ':action',\r\n children: [\r\n { path: ':id', component: AddAddressComponent },\r\n { path: '', component: AddAddressComponent },\r\n ]\r\n },\r\n { path: '', component: AddAddressComponent },\r\n ],\r\n canActivate: [AuthGuard]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AddressRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { AddressRoutingModule } from \"./address-routing.module\";\r\nimport { AddressComponent } from \"./address/address.component\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { AddAddressComponent } from \"./add-address/add-address.component\";\r\nimport { TemplateDefaultModule } from \"../../../shared/template-default/template-default.module\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { AgmCoreModule } from \"@agm/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\n\r\n@NgModule({\r\n declarations: [AddressComponent, AddAddressComponent],\r\n imports: [\r\n CommonModule,\r\n AddressRoutingModule,\r\n MaterialModule,\r\n TemplateDefaultModule,\r\n TranslateModule,\r\n ReactiveFormsModule,\r\n // AgmCoreModule.forRoot({\r\n // apiKey: constEnv.googleMapAPIKey,\r\n // libraries: [\"places\"],\r\n // }),\r\n ComponentModule,\r\n NgSelectModule,\r\n ],\r\n})\r\nexport class AddressModule {}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { combineLatest, Subscription } from \"rxjs\";\r\nimport { BsModalService, BsModalRef } from \"ngx-bootstrap/modal\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\n\r\n@Component({\r\n selector: \"app-address\",\r\n templateUrl: \"./address.component.html\",\r\n styleUrls: [\"./address.component.css\"],\r\n})\r\nexport class AddressComponent implements OnInit {\r\n addLists: any;\r\n noDataFoundMsg: any;\r\n config = constEnv;\r\n subscriptions: Subscription[] = [];\r\n selectedAddressId = 0;\r\n modalRef: BsModalRef;\r\n\r\n constructor(\r\n private ls: LoaderService,\r\n private customer: CustomerService,\r\n private modalService: BsModalService,\r\n private changeDetection: ChangeDetectorRef,\r\n private alert: AlertService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.getCustomerAddresses();\r\n }\r\n getCustomerAddresses() {\r\n this.ls.showLoader();\r\n this.customer.getCustomerAddressese().subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.addLists = data[\"data\"];\r\n } else {\r\n this.addLists = [];\r\n this.noDataFoundMsg = data[\"message\"];\r\n }\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n this.addLists = [];\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.noDataFoundMsg = msg;\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n openModal(template: TemplateRef, addressId) {\r\n const _combine = combineLatest(\r\n this.modalService.onShow,\r\n this.modalService.onShown,\r\n this.modalService.onHide,\r\n this.modalService.onHidden\r\n ).subscribe(() => this.changeDetection.markForCheck());\r\n\r\n this.subscriptions.push(\r\n this.modalService.onShow.subscribe((reason: string) => {\r\n this.selectedAddressId = addressId;\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.modalService.onHidden.subscribe((reason: string) => {\r\n this.selectedAddressId = 0;\r\n this.unsubscribe();\r\n })\r\n );\r\n\r\n this.subscriptions.push(_combine);\r\n\r\n this.modalRef = this.modalService.show(template, { class: \"modal-sm\" });\r\n }\r\n unsubscribe() {\r\n this.subscriptions.forEach((subscription: Subscription) => {\r\n subscription.unsubscribe();\r\n });\r\n this.subscriptions = [];\r\n }\r\n deleteAddress(addressId) {\r\n this.customer\r\n .deleteCustomerAddress(addressId)\r\n .pipe(first())\r\n .subscribe(\r\n (res) => {\r\n if (res[\"status\"] === true) {\r\n this.alert.success(res[\"message\"]);\r\n this.modalRef.hide();\r\n this.getCustomerAddresses();\r\n } else {\r\n this.alert.danger(res[\"message\"]);\r\n }\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(msg);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n // loadAddresses() {\r\n // this.ls.showLoader();\r\n // this.cs.getCustomerAddressese()\r\n // .pipe(first())\r\n // .subscribe(res => {\r\n // if (res['status'] === true) {\r\n // this.addLists = res['data'];\r\n // } else {\r\n // this.addLists = [];\r\n // // this.alert.danger( res['message'] );\r\n // this.noDataFoundMsg = res['message'];\r\n // }\r\n // this.ls.hideLoader();\r\n // },\r\n // err => {\r\n // this.addLists = [];\r\n // const msg = (typeof err.error.Message !== 'undefined') ? err.error.Message : err.error.message;\r\n // if (msg !== '') {\r\n // this.noDataFoundMsg = msg;\r\n // // this.alert.danger(msg);\r\n // }\r\n // this.ls.hideLoader();\r\n // });\r\n // }\r\n\r\n setDefaultAddress(addressId: number) {\r\n this.ls.showLoader();\r\n\r\n this.customer.setCustomerDefaultAddress(addressId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.ls.hideLoader();\r\n this.getCustomerAddresses();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(msg);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { ListComponent } from \"./list/list.component\";\r\nimport { AuthGuard } from \"common/_helpers/auth.guard\";\r\nimport { DetailComponent } from \"./detail/detail.component\";\r\n\r\nconst routeUrl = constEnv.customerEndPoint;\r\nconst CANCEL_REQUEST_ENDPOINT = `${routeUrl}/cancel-request`;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${CANCEL_REQUEST_ENDPOINT}`,\r\n children: [\r\n {\r\n path: \"detail\",\r\n children: [\r\n { path: \":id\", component: DetailComponent },\r\n {\r\n path: \"\",\r\n redirectTo: `${CANCEL_REQUEST_ENDPOINT}`,\r\n pathMatch: \"full\",\r\n },\r\n ],\r\n },\r\n { path: \"\", component: ListComponent },\r\n ],\r\n canActivate: [AuthGuard],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class CancelRequestRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { CancelRequestRoutingModule } from \"./cancel-request-routing.module\";\r\nimport { TemplateDefaultModule } from \"src/app/shared/template-default/template-default.module\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { DataTablesModule } from \"angular-datatables\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { PaginationModule } from \"ngx-bootstrap/pagination\";\r\nimport { ListComponent } from \"./list/list.component\";\r\nimport { PipeModule } from \"common/_pipe/pipe.module\";\r\nimport { DetailComponent } from \"./detail/detail.component\";\r\n\r\n@NgModule({\r\n declarations: [ListComponent, DetailComponent],\r\n imports: [\r\n CommonModule,\r\n CancelRequestRoutingModule,\r\n CommonModule,\r\n TemplateDefaultModule,\r\n TranslateModule,\r\n DataTablesModule,\r\n FormsModule,\r\n BrowserAnimationsModule,\r\n ReactiveFormsModule,\r\n MaterialModule,\r\n PaginationModule.forRoot(),\r\n PipeModule,\r\n ],\r\n})\r\nexport class CancelRequestModule {}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\n\r\n@Component({\r\n selector: \"app-detail\",\r\n templateUrl: \"./detail.component.html\",\r\n styleUrls: [\"./detail.component.css\"],\r\n})\r\nexport class DetailComponent implements OnInit {\r\n config = constEnv;\r\n requestId: number = 0;\r\n\r\n requestDetail: any;\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private cs: CustomerService,\r\n private alert: AlertService,\r\n private ls: IsLoadingService,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Cancel Request Detail\");\r\n if (this.ls.isLoading$()) {\r\n this.ls.remove();\r\n }\r\n\r\n this.requestId =\r\n this.route.snapshot.params.id !== \"undefined\"\r\n ? this.route.snapshot.params.id\r\n : 0;\r\n\r\n if (this.requestId <= 0) {\r\n this.router.navigate([this.config.CUSTOMER_URL, \"cancel-request\"]);\r\n }\r\n\r\n this.getCancelRequestDetail();\r\n }\r\n\r\n getCancelRequestDetail() {\r\n this.ls.add();\r\n this.cs.getCancelRequestDetail(this.requestId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.requestDetail = data[\"data\"];\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.ls.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { first } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"app-list\",\r\n templateUrl: \"./list.component.html\",\r\n styleUrls: [\"./list.component.css\"],\r\n})\r\nexport class ListComponent implements OnInit {\r\n config = constEnv;\r\n\r\n hasList = false;\r\n cancelRequestLists: CancelRequestItem[] = [];\r\n\r\n @ViewChild(DataTableDirective, { static: false })\r\n private dataTableElement: DataTableDirective;\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private ls: LoaderService,\r\n private customer: CustomerService,\r\n private alert: AlertService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Cancel Request\");\r\n\r\n this.createDataTable();\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: -1,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.hasList = true;\r\n this.customer\r\n .getCancelRequestLists(dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (resp) => {\r\n const data = resp as CancelRequestLsiResponse;\r\n let paging: any;\r\n\r\n if (data.status === true) {\r\n this.cancelRequestLists = data.data;\r\n paging = JSON.parse(resp[\"paging\"]);\r\n // paging = { totalCount: this.lists.length, totalRowsAfterFiltering: this.lists.length };\r\n } else {\r\n paging = { totalCount: 0, totalRowsAfterFiltering: 0 };\r\n this.cancelRequestLists = [];\r\n this.hasList = false;\r\n }\r\n\r\n if (this.cancelRequestLists.length > 0) {\r\n this.hasList = true;\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n }\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n }\r\n );\r\n },\r\n };\r\n }\r\n}\r\n\r\ninterface CancelRequestLsiResponse {\r\n status: boolean;\r\n message: string;\r\n data: CancelRequestItem[];\r\n}\r\n\r\ninterface CancelRequestItem {\r\n id: number;\r\n ticketId: string;\r\n createdDate: string;\r\n customerName: string;\r\n customerPhone: string;\r\n statusName: string;\r\n storeId: number;\r\n statusColor: string;\r\n backgroundColor: string;\r\n itemReturnReason: string;\r\n orderTotal: string;\r\n productName: string;\r\n productPrice: string;\r\n productImage: string;\r\n totalItem: number;\r\n isAccepted: boolean;\r\n isClosed: boolean;\r\n isInProgress: boolean;\r\n storeName: string;\r\n customerId: number;\r\n customerLangId: number;\r\n storeLangId: number;\r\n customerEmail: string;\r\n storeEmail: string;\r\n description: string;\r\n attachment: string;\r\n orderId: number;\r\n orderBaseDetailId: number;\r\n orderNo: string;\r\n statusId: number;\r\n reason: string;\r\n currencyCode: string;\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { AuthGuard } from \"common/_helpers/auth.guard\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { ProfileComponent } from \"./profile/profile/profile.component\";\r\nimport { OrdersComponent } from \"./orders/orders/orders.component\";\r\nimport { AddressComponent } from \"./address/address/address.component\";\r\nimport { ReturnRequestComponent } from \"./return-request/return-request.component\";\r\nimport { SupportCancelOrderComponent } from \"./support-cancel-order/support-cancel-order.component\";\r\n\r\nconst routeUrl = constEnv.customerEndPoint;\r\nconst routes: Routes = [\r\n {\r\n path: `${routeUrl}`,\r\n children: [\r\n { path: \"profile\", component: ProfileComponent },\r\n // { path: 'orders' , component: OrdersComponent },\r\n { path: \"address\", component: AddressComponent },\r\n { path: \"return-request-list\", component: ReturnRequestComponent },\r\n {\r\n path: \"cancel-order-request/:token\",\r\n component: SupportCancelOrderComponent,\r\n },\r\n { path: \"\", redirectTo: `/${routeUrl}/profile`, pathMatch: \"full\" },\r\n ],\r\n canActivate: [AuthGuard],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class CustomerRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { TemplateDefaultModule } from \"../../shared/template-default/template-default.module\";\r\nimport { CustomerRoutingModule } from \"./customer-routing.module\";\r\nimport { AuthGuard } from \"common/_helpers/auth.guard\";\r\nimport { ProfileModule } from \"./profile/profile.module\";\r\n\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { DataTablesModule } from \"angular-datatables\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { BsDatepickerModule } from \"ngx-bootstrap/datepicker\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\n//import { AddressComponent } from './address/address/address.component';\r\nimport { AddressModule } from \"./address/address.module\";\r\nimport { OrdersModule } from \"./orders/orders.module\";\r\nimport { WishlistModule } from \"./wishlist/wishlist.module\";\r\nimport { JobModule } from \"./job/job.module\";\r\nimport { ReturnRequestComponent } from \"./return-request/return-request.component\";\r\nimport { PaginationModule } from \"ngx-bootstrap/pagination\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\nimport { PopoverModule } from \"ngx-bootstrap/popover\";\r\nimport { PipeModule } from \"common/_pipe/pipe.module\";\r\nimport { CancelRequestModule } from \"./cancel-request/cancel-request.module\";\r\nimport { SupportCancelOrderComponent } from \"./support-cancel-order/support-cancel-order.component\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\n\r\n@NgModule({\r\n declarations: [ReturnRequestComponent, SupportCancelOrderComponent],\r\n imports: [\r\n CommonModule,\r\n CustomerRoutingModule,\r\n ProfileModule,\r\n TemplateDefaultModule,\r\n TranslateModule,\r\n DataTablesModule,\r\n FormsModule,\r\n BrowserAnimationsModule,\r\n ReactiveFormsModule,\r\n BsDatepickerModule,\r\n MaterialModule,\r\n AddressModule,\r\n OrdersModule,\r\n WishlistModule,\r\n JobModule,\r\n PaginationModule.forRoot(),\r\n ModalModule.forRoot(),\r\n PipeModule,\r\n CancelRequestModule,\r\n NgSelectModule,\r\n PopoverModule.forRoot(),\r\n ],\r\n})\r\nexport class CustomerModule {}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { ProductList } from \"common/_models/site/product-list.modal\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\n\r\n@Component({\r\n selector: \"app-job-detail\",\r\n templateUrl: \"./job-detail.component.html\",\r\n styleUrls: [\"./job-detail.component.css\"],\r\n})\r\nexport class JobDetailComponent implements OnInit {\r\n config = constEnv;\r\n jobId: number = 0;\r\n\r\n categoryItemLists: any[] = null;\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private cs: CustomerService,\r\n private alert: AlertService,\r\n private ls: IsLoadingService,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"ViewJob\");\r\n if (this.ls.isLoading$()) {\r\n this.ls.remove();\r\n }\r\n\r\n this.jobId =\r\n this.route.snapshot.params.id !== \"undefined\"\r\n ? this.route.snapshot.params.id\r\n : 0;\r\n\r\n if (this.jobId <= 0) {\r\n this.router.navigate([this.config.CUSTOMER_URL, \"job\"]);\r\n }\r\n this.getJobProducts();\r\n }\r\n\r\n getJobProducts() {\r\n this.ls.add();\r\n this.cs.getJobItems(this.jobId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n let _data = data[\"data\"] as ResponseData;\r\n this.categoryItemLists = _data.serviceCategories as ServiceCategory[];\r\n } else {\r\n if (Object.keys(data[\"data\"]).length == 0) {\r\n this.router.navigate([\"/customer/job\"]);\r\n }\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.ls.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface ResponseData {\r\n arvrFPId: string;\r\n arvrImgUrl: string;\r\n floorPlanImage: string;\r\n spaceArea: number;\r\n serviceCategories: ServiceCategory[];\r\n}\r\n\r\ninterface ServiceCategory {\r\n id: number;\r\n name: string;\r\n serviceTypeImage: string;\r\n product: ProductList[];\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AuthGuard } from \"common/_helpers/auth.guard\";\r\nimport { JobDetailComponent } from \"./job-detail/job-detail.component\";\r\n\r\nimport { ListComponent } from \"./list/list.component\";\r\n\r\nconst JOB_ENDPOINT = `${constEnv.customerEndPoint}/job`;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${JOB_ENDPOINT}`,\r\n children: [\r\n {\r\n path: \"detail\",\r\n children: [\r\n { path: \":id\", component: JobDetailComponent },\r\n { path: \"\", redirectTo: `${JOB_ENDPOINT}`, pathMatch: \"full\" },\r\n ],\r\n },\r\n { path: \"\", component: ListComponent },\r\n ],\r\n canActivate: [AuthGuard],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class JobRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { DataTablesModule } from \"angular-datatables\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { BsDatepickerModule } from \"ngx-bootstrap/datepicker\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\nimport { TemplateDefaultModule } from \"../../../shared/template-default/template-default.module\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\nimport { StarRatingModule } from \"angular-star-rating\";\r\n\r\nimport { JobRoutingModule } from \"./job-routing.module\";\r\nimport { ListComponent } from \"./list/list.component\";\r\nimport { JobDetailComponent } from \"./job-detail/job-detail.component\";\r\nimport { PipeModule } from \"common/_pipe/pipe.module\";\r\n\r\n@NgModule({\r\n declarations: [ListComponent, JobDetailComponent],\r\n imports: [\r\n CommonModule,\r\n JobRoutingModule,\r\n CommonModule,\r\n TranslateModule,\r\n DataTablesModule,\r\n FormsModule,\r\n MaterialModule,\r\n ReactiveFormsModule,\r\n NgSelectModule,\r\n ModalModule.forRoot(),\r\n StarRatingModule.forRoot(),\r\n BrowserAnimationsModule,\r\n RouterModule,\r\n BsDatepickerModule,\r\n TemplateDefaultModule,\r\n PipeModule,\r\n ],\r\n})\r\nexport class JobModule {}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: \"app-list\",\r\n templateUrl: \"./list.component.html\",\r\n styleUrls: [\"./list.component.css\"],\r\n})\r\nexport class ListComponent implements OnInit {\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n @ViewChild(\"autoShownModal\", { static: false })\r\n autoShownModal: ModalDirective;\r\n isModalShown = false;\r\n\r\n hasList = false;\r\n lists: JobList[] = [];\r\n config = constEnv;\r\n\r\n jobForm: FormGroup;\r\n loading = false;\r\n\r\n spaceTypes: SpaceType[] = [];\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private cs: CustomerService,\r\n private alert: AlertService,\r\n private fb: FormBuilder,\r\n private ls: IsLoadingService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Jobs\");\r\n if (this.ls.isLoading$()) {\r\n this.ls.remove();\r\n }\r\n\r\n this.createDataTable();\r\n }\r\n\r\n createAttributeForm() {\r\n this.jobForm = this.fb.group({\r\n id: [0],\r\n name: [\"\", Validators.required],\r\n spaceTypeId: [null, Validators.required],\r\n });\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: -1,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.hasList = true;\r\n this.cs\r\n .getCustomerJobs(dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (resp) => {\r\n const data = resp as JobListResponse;\r\n let paging: any;\r\n\r\n if (data.status === true) {\r\n this.lists = data.data;\r\n paging = JSON.parse(resp[\"paging\"]);\r\n // paging = { totalCount: this.lists.length, totalRowsAfterFiltering: this.lists.length };\r\n } else {\r\n paging = { totalCount: 0, totalRowsAfterFiltering: 0 };\r\n this.lists = [];\r\n this.hasList = false;\r\n }\r\n\r\n if (this.lists.length > 0) {\r\n this.hasList = true;\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n }\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n }\r\n );\r\n },\r\n };\r\n }\r\n\r\n showModal(): void {\r\n this.createAttributeForm();\r\n this.cs.getSpaceType().subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.spaceTypes = data[\"data\"] as SpaceType[];\r\n } else {\r\n this.spaceTypes = [];\r\n }\r\n this.ls.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.remove();\r\n }\r\n );\r\n this.isModalShown = true;\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n onHidden(): void {\r\n this.isModalShown = false;\r\n }\r\n\r\n onSubmit() {\r\n if (this.jobForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.cs.createCustomerJob(this.jobForm.value).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.hideModal();\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) =>\r\n dtInstance.draw()\r\n );\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.loading = false;\r\n this.ls.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.loading = false;\r\n this.ls.remove();\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface JobListResponse {\r\n status: boolean;\r\n message: string;\r\n data: JobList[];\r\n}\r\n\r\ninterface JobList {\r\n id: number;\r\n isProductInJob: boolean;\r\n name: string;\r\n productImage: string;\r\n spaceTypeId: number;\r\n spaceTypeName: string;\r\n productCount: number;\r\n}\r\n\r\ninterface SpaceType {\r\n name: string;\r\n spacetypeId: number;\r\n}\r\n","import { Component, ElementRef, OnInit, ViewChild } from \"@angular/core\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport {\r\n MAT_RADIO_DEFAULT_OPTIONS,\r\n MatRadioChange,\r\n} from \"@angular/material/radio\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { MatSelectionList } from \"@angular/material/list\";\r\n\r\n@Component({\r\n selector: \"app-detail\",\r\n templateUrl: \"./detail.component.html\",\r\n styleUrls: [\"./detail.component.css\"],\r\n providers: [\r\n { provide: MAT_RADIO_DEFAULT_OPTIONS, useValue: { color: \"primary\" } },\r\n ],\r\n})\r\nexport class DetailComponent implements OnInit {\r\n orderId = 0;\r\n\r\n config = constEnv;\r\n listUrl: string;\r\n orderInfo = [];\r\n patches = [];\r\n\r\n orderCalculation: OrderCalculation = null;\r\n orderCalculationNew: any[] = [];\r\n\r\n @ViewChild(\"returnFormModal\", { static: false })\r\n returnFormModal: ModalDirective;\r\n\r\n @ViewChild(\"cancelFormModal\", { static: false })\r\n cancelFormModal: ModalDirective;\r\n\r\n @ViewChild(\"allCancelItemSelected\", { static: false })\r\n public allCancelItemSelected: MatSelectionList;\r\n\r\n returnRequestForm: FormGroup;\r\n isOpenReturnRequestModal: boolean = false;\r\n returnItemData: any;\r\n\r\n returnReasonOptions: any = [];\r\n\r\n allCancelItemComplete: boolean = false;\r\n cancelOrderItems: any[] = [];\r\n cancelOrderCurrencyCode: string = \"\";\r\n cancelRequestForm: FormGroup;\r\n isOpenCancelRequestModal: boolean = false;\r\n cancelReasonOptions: any = [];\r\n\r\n @ViewChild(\"rateNowFormModal\", { static: false })\r\n rateNowFormModal: ModalDirective;\r\n rateNowForm: FormGroup;\r\n isOpenRateNowModal: boolean = false;\r\n rateNowItemData: any;\r\n\r\n @ViewChild(\"rateNowFileInput\", { static: true })\r\n rateNowFileInput: ElementRef;\r\n rateNowFileData: File[] = [];\r\n rateNowPreviewUrl: any = [];\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private ls: LoaderService,\r\n private customer: CustomerService,\r\n private general: GeneralService,\r\n private alert: AlertService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private fb: FormBuilder\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Order Detail\");\r\n this.orderId =\r\n this.route.snapshot.params.id > 0 ? this.route.snapshot.params.id : 0;\r\n\r\n this.listUrl = `${this.config.CUSTOMER_URL}/orders`;\r\n\r\n if (this.orderId <= 0) {\r\n this.router.navigate([this.listUrl]);\r\n return false;\r\n }\r\n this.getOrderDetail();\r\n // this.makeReturnRequestForm();\r\n }\r\n\r\n private makeReturnRequestForm() {\r\n this.returnRequestForm = this.fb.group({\r\n IsPickupByStore: [null, Validators.required],\r\n IsReplaced: [null, Validators.required],\r\n PickupCharge: [null],\r\n Phone: [null, [Validators.required, this.validatePhoneNumber]],\r\n ItemOptionId: [null, Validators.required],\r\n Description: [\"\"],\r\n Attachment: [null],\r\n Quantity: [null, Validators.required],\r\n });\r\n }\r\n\r\n get requestForm() {\r\n return this.returnRequestForm.controls;\r\n }\r\n\r\n validatePhoneNumber(control) {\r\n const phoneNumber = control.value;\r\n\r\n if (phoneNumber && /^\\d{10}$/.test(phoneNumber)) {\r\n return null;\r\n } else {\r\n return { invalidPhoneNumber: true };\r\n }\r\n }\r\n\r\n getOrderDetail() {\r\n this.ls.showLoader();\r\n this.customer\r\n .getCustomerOrderDetail(this.orderId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.orderInfo = data[\"data\"];\r\n this.patches = this.orderInfo[\"patchDtos\"];\r\n this.orderCalculation = this.orderInfo[\r\n \"myCartCalulationDto\"\r\n ] as OrderCalculation;\r\n\r\n this.orderCalculationNew = this.orderInfo[\r\n \"calculationDetails_New\"\r\n ] as CalculationDetail[];\r\n\r\n //console.log(this.patches);\r\n this.ls.hideLoader();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n if (data[\"status_code\"] == 400) {\r\n this.router.navigate([\"/customer/orders\"]);\r\n }\r\n }\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n numSequence(n: number): Array {\r\n return Array(n);\r\n }\r\n\r\n getReturnReasonOption() {\r\n this.returnReasonOptions = [];\r\n this.general\r\n .getReturnReasonOptions()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.returnReasonOptions = data[\"data\"];\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n }\r\n );\r\n }\r\n\r\n openReturnForm(item: any) {\r\n this.returnItemData = item;\r\n // console.log(this.returnItemData);\r\n this.isOpenReturnRequestModal = true;\r\n this.makeReturnRequestForm();\r\n this.getReturnReasonOption();\r\n setTimeout(() => {\r\n this.returnRequestForm\r\n .get(\"Phone\")\r\n .setValue(this.orderInfo[\"customerPhone\"]);\r\n this.returnRequestForm.get(\"IsReplaced\").setValue(false);\r\n if (this.returnItemData.qty == 1) {\r\n this.returnRequestForm\r\n .get(\"Quantity\")\r\n .setValue(this.returnItemData.qty);\r\n }\r\n this.returnFormModal.show();\r\n }, 100);\r\n }\r\n\r\n onReturnRequestModalHidden() {\r\n this.returnItemData = null;\r\n this.isOpenReturnRequestModal = false;\r\n this.returnRequestForm.reset();\r\n }\r\n\r\n getReturnPickupCharge(event: MatRadioChange) {\r\n const qty = this.returnRequestForm.get(\"Quantity\").value;\r\n // console.log(event.value);\r\n if (event.value == \"true\" && qty > 0) {\r\n const pickupChargeParams = {\r\n Quantity: qty,\r\n ProductId: this.returnItemData.productId,\r\n StoreId: this.returnItemData.storeId,\r\n OrderDetailId: this.returnItemData.orderDetailId,\r\n IsReplaced: this.returnRequestForm.get(\"IsReplaced\").value,\r\n };\r\n\r\n this.customer\r\n .getReturnRequestPickupCharge(pickupChargeParams)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n // console.log(data);\r\n this.returnRequestForm.get(\"PickupCharge\").setValue(data[\"data\"]);\r\n // if (data[\"status\"] === true) {\r\n // // this.returnReasonOptions = data[\"data\"];\r\n // } else {\r\n // this.alert.danger(data[\"message\"]);\r\n // }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n }\r\n );\r\n } else {\r\n this.returnRequestForm.get(\"PickupCharge\").setValue(null);\r\n }\r\n }\r\n\r\n onQuantityChange() {\r\n this.returnRequestForm.get(\"PickupCharge\").setValue(null);\r\n this.returnRequestForm.get(\"IsPickupByStore\").setValue(null);\r\n }\r\n\r\n onReturnRequestSubmit() {\r\n if (this.returnRequestForm.invalid) {\r\n return;\r\n }\r\n\r\n this.ls.showLoader();\r\n // console.log(this.returnRequestForm.value);\r\n const formData = new FormData();\r\n formData.append(\r\n \"IsPickupByStore\",\r\n this.returnRequestForm.value.IsPickupByStore\r\n );\r\n formData.append(\"IsReplaced\", this.returnRequestForm.value.IsReplaced);\r\n formData.append(\"PickupCharge\", this.returnRequestForm.value.PickupCharge);\r\n formData.append(\"ItemOptionId\", this.returnRequestForm.value.ItemOptionId);\r\n formData.append(\"Phone\", this.returnRequestForm.value.Phone);\r\n formData.append(\"Description\", this.returnRequestForm.value.Description);\r\n formData.append(\"Attachment\", this.returnRequestForm.value.Attachment);\r\n formData.append(\"Quantity\", this.returnRequestForm.value.Quantity);\r\n formData.append(\"ProductId\", this.returnItemData.productId);\r\n formData.append(\"StoreId\", this.returnItemData.storeId);\r\n formData.append(\"OrderDetailId\", this.returnItemData.orderDetailId);\r\n\r\n this.customer\r\n .returnRequestTickets(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.returnFormModal.hide();\r\n this.ls.hideLoader();\r\n this.getOrderDetail();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n getReturnStatusText(item: any) {\r\n let status = \"\";\r\n // if (item.isAccepted && item.isClosed) {\r\n if (item.isClosed) {\r\n status = \"Close\";\r\n } else if (item.isAccepted && !item.isClosed) {\r\n status = \"Accepted\";\r\n } else {\r\n status = \"Open\";\r\n }\r\n\r\n return status;\r\n }\r\n\r\n // cancel order flow\r\n get getCancelableItems(): any {\r\n const validCancelStatus = [9, 10];\r\n const cancelableItems = [];\r\n if (this.orderInfo && typeof this.orderInfo[\"patchDtos\"] !== \"undefined\") {\r\n this.orderInfo[\"patchDtos\"].map((patch) => {\r\n patch.itemList.map((item) => {\r\n if (validCancelStatus.indexOf(item.statusId) !== -1) {\r\n cancelableItems.push(item);\r\n }\r\n });\r\n });\r\n }\r\n return cancelableItems;\r\n }\r\n\r\n showCancelButton() {\r\n // const statusIds = [9, 10];\r\n // const isFound = statusIds.indexOf(this.orderInfo[\"statusId\"]);\r\n\r\n // return isFound !== -1 ? true : false;\r\n return this.getCancelableItems.length > 0 ? true : false;\r\n }\r\n\r\n private makeCancelRequestForm() {\r\n this.cancelRequestForm = this.fb.group({\r\n Phone: [null, [Validators.required, this.validatePhoneNumber]],\r\n ItemOptionId: [null, Validators.required],\r\n Description: [\"\", [Validators.maxLength(500)]],\r\n Attachment: [null],\r\n });\r\n }\r\n\r\n getCancelReasonOption() {\r\n this.cancelReasonOptions = [];\r\n this.general\r\n .getCancelReasonOptions()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.cancelReasonOptions = data[\"data\"];\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n }\r\n );\r\n }\r\n\r\n openCancelOrderPopup() {\r\n // this.cancelOrderItems = this.patches.reduce(\r\n // (acc, obj) => acc.concat(obj.itemList),\r\n // []\r\n // );\r\n this.cancelOrderItems = this.getCancelableItems;\r\n this.cancelOrderCurrencyCode =\r\n (this.cancelOrderItems.length > 0 &&\r\n this.cancelOrderItems[0].currencyCode) ||\r\n \"\";\r\n this.isOpenCancelRequestModal = true;\r\n this.getCancelReasonOption();\r\n this.makeCancelRequestForm();\r\n\r\n setTimeout(() => {\r\n this.cancelRequestForm\r\n .get(\"Phone\")\r\n .setValue(this.orderInfo[\"customerPhone\"]);\r\n this.cancelFormModal.show();\r\n }, 100);\r\n }\r\n\r\n onCancelOrderModalHidden() {\r\n this.cancelOrderItems = [];\r\n this.cancelFormModal.hide();\r\n }\r\n\r\n toggleCancelSelection(completed: boolean) {\r\n this.allCancelItemComplete = completed;\r\n if (completed) {\r\n this.allCancelItemSelected.selectAll();\r\n } else {\r\n this.allCancelItemSelected.deselectAll();\r\n }\r\n }\r\n\r\n isAllCancelSelected() {\r\n // console.log(\r\n // this.allCancelItemSelected.selectedOptions.selected.map(\r\n // (item) => item.value\r\n // )\r\n // );\r\n return (\r\n this.allCancelItemSelected.selectedOptions.selected.length ===\r\n this.allCancelItemSelected.options.length\r\n );\r\n }\r\n\r\n onCancelSelectionListChange(event) {\r\n this.allCancelItemComplete = this.isAllCancelSelected();\r\n }\r\n\r\n someCancelComplete() {\r\n return (\r\n this.allCancelItemSelected &&\r\n this.allCancelItemSelected.selectedOptions.selected.length > 0 &&\r\n !this.allCancelItemComplete\r\n );\r\n }\r\n\r\n isCancelFormValid(): boolean {\r\n if (this.cancelRequestForm.invalid) {\r\n return false;\r\n }\r\n\r\n if (this.cancelOrderItems.length === 0) {\r\n return false;\r\n }\r\n\r\n if (\r\n this.allCancelItemSelected &&\r\n this.allCancelItemSelected.selectedOptions.selected.length === 0\r\n ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n onCancelRequestSubmit() {\r\n if (!this.isCancelFormValid()) {\r\n return;\r\n }\r\n\r\n const selectedItems =\r\n this.allCancelItemSelected.selectedOptions.selected.map(\r\n (item) => item.value\r\n );\r\n\r\n const orderDetailIdSet = [];\r\n selectedItems.forEach((item) => {\r\n orderDetailIdSet.push(item.orderDetailId);\r\n });\r\n\r\n const formData = new FormData();\r\n formData.append(\"ItemOptionId\", this.cancelRequestForm.value.ItemOptionId);\r\n formData.append(\r\n \"OrderDetailId\",\r\n this.allCancelItemComplete ? \"\" : orderDetailIdSet.join(\",\")\r\n );\r\n formData.append(\"StoreId\", \"0\");\r\n formData.append(\"OrderBaseDetailId\", this.orderInfo[\"orderId\"]);\r\n formData.append(\"Description\", this.cancelRequestForm.value.Description);\r\n formData.append(\"Attachment\", this.cancelRequestForm.value.Attachment);\r\n formData.append(\"Phone\", this.cancelRequestForm.value.Phone);\r\n\r\n this.ls.showLoader();\r\n this.customer\r\n .cancelRequestTickets(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.cancelFormModal.hide();\r\n this.ls.hideLoader();\r\n this.getOrderDetail();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n private makeRateNowForm(item: any) {\r\n this.rateNowForm = this.fb.group({\r\n OrderId: [item.orderDetailId],\r\n Rate: [\"\"],\r\n Comment: [null, Validators.required],\r\n Attachements: [null],\r\n });\r\n }\r\n\r\n openRateNowForm(item: any) {\r\n console.log(item);\r\n this.rateNowItemData = item;\r\n // console.log(this.returnItemData);\r\n this.makeRateNowForm(item);\r\n this.isOpenRateNowModal = true;\r\n\r\n setTimeout(() => {\r\n this.rateNowFormModal.show();\r\n }, 100);\r\n }\r\n\r\n onRateNowModalHidden() {\r\n this.rateNowItemData = null;\r\n this.isOpenRateNowModal = false;\r\n // this.returnRequestForm.reset();\r\n }\r\n\r\n isRateNowButtonShow(item: any): boolean {\r\n let isShow = false;\r\n if (\r\n item.statusId === 6 &&\r\n !item.isCancelledOrder &&\r\n !item.isReturnRequest\r\n ) {\r\n if (!item.isReviewStore) {\r\n isShow = true;\r\n }\r\n }\r\n return isShow;\r\n }\r\n\r\n rateNowFileProgress(secondaryFileInput: any) {\r\n this.rateNowFileData.push(secondaryFileInput.target.files[0] as File);\r\n this.rateNowImagePreview();\r\n }\r\n\r\n rateNowImagePreview() {\r\n if (this.rateNowFileData.length > 0) {\r\n this.rateNowPreviewUrl = [];\r\n for (let i = 0; i < this.rateNowFileData.length; i++) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(this.rateNowFileData[i]);\r\n reader.onload = (_event) => {\r\n this.rateNowPreviewUrl[i] = reader.result;\r\n if (this.rateNowPreviewUrl[i].length > 2 ** 21) {\r\n this.alert.danger(\"File exceeds the maximum size: 2mb.\");\r\n this.removeRateNowImage(i);\r\n }\r\n };\r\n }\r\n }\r\n }\r\n\r\n removeRateNowImage(i) {\r\n this.rateNowFileData.splice(i, 1);\r\n this.rateNowPreviewUrl.splice(i, 1);\r\n }\r\n\r\n onRateNowSubmit() {\r\n if (this.rateNowForm.invalid) {\r\n return;\r\n }\r\n\r\n this.ls.showLoader();\r\n // console.log(this.returnRequestForm.value);\r\n const formData = new FormData();\r\n formData.append(\"OrderId\", this.rateNowForm.value.OrderId);\r\n formData.append(\"Rate\", this.rateNowForm.value.Rate);\r\n formData.append(\"Comment\", this.rateNowForm.value.Comment);\r\n\r\n if (this.rateNowFileData.length > 0) {\r\n for (let i = 0; i < this.rateNowFileData.length; i++) {\r\n formData.append(\"Attachements\", this.rateNowFileData[i]);\r\n }\r\n }\r\n\r\n this.customer\r\n .rateReviewToStoreOrderProduct(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.rateNowFormModal.hide();\r\n this.ls.hideLoader();\r\n this.getOrderDetail();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface OrderCalculation {\r\n currencyCode: string;\r\n deliveryCharges: number;\r\n offerDiscount: number;\r\n packingCharges: number;\r\n assemblyCharge: number;\r\n paymentGatewayCharges: number;\r\n promotionalDiscount: number;\r\n subTotal: number;\r\n tax: number;\r\n taxInPer: any;\r\n totalAmount: number;\r\n}\r\n\r\ninterface CalculationDetail {\r\n key: string;\r\n value: string;\r\n keyColor: string;\r\n valueColor: string;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\nimport { OrdersComponent } from './orders/orders.component';\r\nimport { DetailComponent } from \"./detail/detail.component\";\r\nconst ORDER_ENDPOINT = `${constEnv.customerEndPoint}/orders`;\r\nconst routes: Routes = [\r\n {\r\n path: `${ORDER_ENDPOINT}`,\r\n children: [\r\n { path: 'detail',\r\n children: [\r\n { path: ':id', component: DetailComponent },\r\n { path: '', redirectTo: `${ORDER_ENDPOINT}`, pathMatch: 'full'}\r\n ]\r\n },\r\n /*{ path: ':orderId/schedule', component: ScheduleComponent },*/\r\n { path: '', component: OrdersComponent }\r\n ],\r\n canActivate: [AuthGuard]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class OrdersRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { OrdersComponent } from \"./orders/orders.component\";\r\nimport { OrdersRoutingModule } from \"./orders-routing.module\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { DataTablesModule } from \"angular-datatables\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { BsDatepickerModule } from \"ngx-bootstrap/datepicker\";\r\nimport { TemplateDefaultModule } from \"../../../shared/template-default/template-default.module\";\r\nimport { DetailComponent } from \"./detail/detail.component\";\r\nimport { PipeModule } from \"common/_pipe/pipe.module\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\nimport { PopoverModule } from \"ngx-bootstrap/popover\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\nimport { StarRatingModule } from \"angular-star-rating\";\r\n@NgModule({\r\n declarations: [OrdersComponent, DetailComponent],\r\n imports: [\r\n CommonModule,\r\n OrdersRoutingModule,\r\n TranslateModule,\r\n DataTablesModule,\r\n FormsModule,\r\n MaterialModule,\r\n ReactiveFormsModule,\r\n BrowserAnimationsModule,\r\n RouterModule,\r\n BsDatepickerModule,\r\n TemplateDefaultModule,\r\n PipeModule,\r\n ModalModule.forRoot(),\r\n NgSelectModule,\r\n PopoverModule.forRoot(),\r\n StarRatingModule,\r\n ],\r\n})\r\nexport class OrdersModule {}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { DataTableDirective } from \"angular-datatables\";\r\nimport { Config } from \"datatables.net\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\n\r\n@Component({\r\n selector: \"app-orders\",\r\n templateUrl: \"./orders.component.html\",\r\n styleUrls: [\"./orders.component.css\"],\r\n})\r\nexport class OrdersComponent implements OnInit {\r\n @ViewChild(DataTableDirective, { static: false })\r\n private datatableElement: DataTableDirective;\r\n // dtOptions: DataTables.Settings = {};\r\n dtOptions: Config = {};\r\n\r\n searchForm: FormGroup;\r\n hasOrders = false;\r\n lists = [];\r\n config = constEnv;\r\n orderFiltersOptions = [{ optionKey: \"orderId\", optionValue: \"OrderNo\" }];\r\n\r\n maxDate = new Date();\r\n\r\n submitted = false;\r\n constructor(\r\n private titleService: TitleService,\r\n private fb: FormBuilder,\r\n private cs: CustomerService,\r\n private alert: AlertService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Orders\");\r\n this.makeSearchFrom();\r\n this.createDataTable();\r\n }\r\n makeSearchFrom() {\r\n this.searchForm = this.fb.group({\r\n filterBy: [this.orderFiltersOptions[0].optionKey],\r\n filterText: [\"\"],\r\n orderFilterDates: [\"\"],\r\n });\r\n }\r\n\r\n createDataTable() {\r\n this.dtOptions = {\r\n pagingType: \"full_numbers\",\r\n ordering: false,\r\n lengthChange: false,\r\n searching: false,\r\n serverSide: true,\r\n processing: true,\r\n // pageLength: -1,\r\n language: {\r\n paginate: {\r\n previous: \"<\",\r\n first: \"<<\",\r\n last: \">>\",\r\n next: \">\",\r\n },\r\n },\r\n ajax: (dataTablesParameters: any, callback) => {\r\n this.hasOrders = true;\r\n const searchparams = this.searchForm.value;\r\n\r\n if (searchparams.filterText !== \"\") {\r\n //dataTablesParameters.search.column = searchparams.filterBy;\r\n //dataTablesParameters.search.value = searchparams.filterText;\r\n const searchFilterText = searchparams.filterText.replace(/#/g, \"\");\r\n dataTablesParameters.orderId = searchFilterText;\r\n }\r\n if (searchparams.orderFilterDates !== \"\") {\r\n dataTablesParameters.dateFrom = searchparams.orderFilterDates[0]\r\n .toJSON()\r\n .split(\"T\")[0];\r\n dataTablesParameters.dateTo = searchparams.orderFilterDates[1]\r\n .toJSON()\r\n .split(\"T\")[0];\r\n }\r\n this.cs\r\n .getCustomerOrders(dataTablesParameters)\r\n .pipe(first())\r\n .subscribe(\r\n (resp) => {\r\n let paging: any;\r\n if (resp[\"status\"] === true) {\r\n this.lists = resp[\"data\"];\r\n paging = JSON.parse(resp[\"paging\"]);\r\n // paging = { totalCount: this.lists.length, totalRowsAfterFiltering: this.lists.length };\r\n } else {\r\n paging = { totalCount: 0, totalRowsAfterFiltering: 0 };\r\n this.lists = [];\r\n this.hasOrders = false;\r\n }\r\n\r\n if (this.lists.length > 0) {\r\n this.hasOrders = true;\r\n }\r\n\r\n callback({\r\n recordsTotal: paging.totalCount,\r\n recordsFiltered: paging.totalRowsAfterFiltering,\r\n data: [],\r\n });\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n }\r\n callback({\r\n recordsTotal: 0,\r\n recordsFiltered: 0,\r\n data: [],\r\n });\r\n }\r\n );\r\n },\r\n };\r\n }\r\n\r\n get f() {\r\n return this.searchForm.controls;\r\n }\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.searchForm.invalid) {\r\n return;\r\n }\r\n\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) => dtInstance.draw());\r\n }\r\n\r\n filterChange(selectedVal) {\r\n this.searchForm.get(\"filterText\").setValue(\"\");\r\n }\r\n\r\n resetFrom() {\r\n this.submitted = false;\r\n // this.searchForm.reset();\r\n\r\n // this.searchForm.get('filterBy').setValue( this.productFiltersOptions[0].optionKey );\r\n this.searchForm.get(\"filterText\").setValue(\"\");\r\n this.searchForm.get(\"orderFilterDates\").setValue(\"\");\r\n\r\n // this.datatableElement.dtInstance.then((dtInstance: DataTables.Api) =>\r\n this.datatableElement.dtInstance.then((dtInstance) => dtInstance.draw());\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n Validators,\r\n AbstractControl,\r\n FormControl,\r\n} from \"@angular/forms\";\r\nimport { CustomValidator } from \"common/_helpers/custom.validator\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\n\r\n@Component({\r\n selector: \"app-change-password\",\r\n templateUrl: \"./change-password.component.html\",\r\n styleUrls: [\"./change-password.component.css\"],\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n changePasswordFrom: FormGroup;\r\n submitted = false;\r\n loading = false;\r\n\r\n public showOldPassword: boolean = false;\r\n public showNewPassword: boolean = false;\r\n public showConfirmPassword: boolean = false;\r\n\r\n config = constEnv;\r\n\r\n currentUserDetail: any;\r\n isFirstTimeLogin: boolean = false;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private titleService: TitleService,\r\n private ls: LoaderService,\r\n private customer: CustomerService,\r\n private alert: AlertService,\r\n private authenticationService: AuthenticationService,\r\n private langService: LanguageService,\r\n private gs: GeneralService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.changePasswordFrom = this.fb.group(\r\n {\r\n oldPassword: [\"\", Validators.required],\r\n newPassword: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n ),\r\n confirmPassword: new FormControl(\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(16),\r\n ])\r\n ),\r\n },\r\n { validator: CustomValidator.MatchPassword }\r\n );\r\n\r\n const currentUser = this.authenticationService.currentUserValue;\r\n this.currentUserDetail = currentUser.userdetails as any;\r\n this.isFirstTimeLogin = this.currentUserDetail.isFirstimeLogin;\r\n }\r\n get f() {\r\n return this.changePasswordFrom.controls;\r\n }\r\n\r\n getErrorNewPassword() {\r\n return this.changePasswordFrom.get(\"newPassword\").hasError(\"required\")\r\n ? \"\"\r\n : this.changePasswordFrom.get(\"newPassword\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.changePasswordFrom.get(\"newPassword\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n \"\";\r\n }\r\n\r\n getErrorConfirmPassword() {\r\n return this.changePasswordFrom.get(\"confirmPassword\").hasError(\"required\")\r\n ? \"\"\r\n : this.changePasswordFrom.get(\"confirmPassword\").hasError(\"minlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.changePasswordFrom.get(\"confirmPassword\").hasError(\"maxlength\")\r\n ? \"PasswordFormate\"\r\n : // ? this.titleService.getTranslatedString(\"PasswordFormate\")\r\n this.changePasswordFrom.get(\"confirmPassword\").hasError(\"confirmPassword\")\r\n ? \"NewPasswordAndConfirmPasswordMustBeSame\"\r\n : // ? this.titleService.getTranslatedString(\"NewPasswordAndConfirmPasswordMustBeSame\")\r\n \"\";\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n if (this.changePasswordFrom.invalid) {\r\n return;\r\n }\r\n\r\n this.ls.showLoader();\r\n this.loading = true;\r\n\r\n this.customer.changePassword(this.changePasswordFrom.value).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.submitted = false;\r\n this.changePasswordFrom.reset();\r\n this.ls.hideLoader();\r\n\r\n if (this.isFirstTimeLogin) {\r\n this.logout();\r\n }\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n this.loading = false;\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.loading = false;\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n logout() {\r\n this.ls.showLoader();\r\n // this.langService.changeLanguage(this.langService.defaultLanguage);\r\n this.authenticationService.logout();\r\n const loginURL = `${this.config.BASE_URL}login`;\r\n\r\n const settingLang = this.gs.getSettings(\"default_language\");\r\n\r\n const changeLangCode =\r\n settingLang !== \"\" ? settingLang : this.langService.defaultLanguage;\r\n\r\n this.langService.getAvailableLanguages().map((lang) => {\r\n if (changeLangCode === lang.lang_code) {\r\n this.langService._setLanguage(lang.lang_code);\r\n localStorage.setItem(\"defaultLang\", JSON.stringify(lang));\r\n }\r\n });\r\n\r\n this.langService\r\n .getLanguageTranslation(this.langService.getCurrentLanguage())\r\n .subscribe((translationsJSON) => {\r\n this.langService.setLanguageTranslation(translationsJSON);\r\n window.location.href = loginURL;\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\n\r\n@Component({\r\n selector: \"app-inner-nav\",\r\n templateUrl: \"./inner-nav.component.html\",\r\n styleUrls: [\"./inner-nav.component.css\"],\r\n})\r\nexport class InnerNavComponent implements OnInit {\r\n config = constEnv;\r\n profileUrl = `${this.config.CUSTOMER_URL}/profile`;\r\n changePasswordUrl = `${this.config.CUSTOMER_URL}/change-password`;\r\n navItems: InnerNav[] = [\r\n { displayName: \"Profile\", path: `${this.profileUrl}` },\r\n { displayName: \"STORE_Change_Password\", path: `${this.changePasswordUrl}` },\r\n ];\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\ninterface InnerNav {\r\n displayName: string;\r\n path: string;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\nimport { ProfileComponent } from './profile/profile.component';\r\nimport { ChangePasswordComponent } from './change-password/change-password.component';\r\nconst routeUrl = constEnv.customerEndPoint;\r\n\r\nconst routes: Routes = [\r\n {\r\n path: `${routeUrl}` ,\r\n children: [\r\n { path: 'profile' , component: ProfileComponent },\r\n { path: 'change-password' , component: ChangePasswordComponent },\r\n \r\n { path: '' , redirectTo: `/${routeUrl}/profile`, pathMatch: 'full' },\r\n ],\r\n canActivate: [AuthGuard]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ProfileRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { ProfileRoutingModule } from \"./profile-routing.module\";\r\n\r\nimport { TemplateDefaultModule } from \"../../../shared/template-default/template-default.module\";\r\nimport { ProfileComponent } from \"./profile/profile.component\";\r\nimport { InnerNavComponent } from \"./inner-nav/inner-nav.component\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { Ng2TelInputModule } from \"ng2-tel-input\";\r\nimport { NgxIntlTelInputModule } from \"ngx-intl-tel-input\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\nimport { ChangePasswordComponent } from \"./change-password/change-password.component\";\r\nimport { MyDirectiveModule } from \"common/directives/my-directive.module\";\r\n\r\n@NgModule({\r\n declarations: [ProfileComponent, InnerNavComponent, ChangePasswordComponent],\r\n imports: [\r\n CommonModule,\r\n ProfileRoutingModule,\r\n TemplateDefaultModule,\r\n TranslateModule,\r\n RouterModule,\r\n BrowserAnimationsModule,\r\n MaterialModule,\r\n ReactiveFormsModule,\r\n Ng2TelInputModule,\r\n NgxIntlTelInputModule,\r\n FormsModule,\r\n NgSelectModule,\r\n MyDirectiveModule,\r\n ],\r\n})\r\nexport class ProfileModule {}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { CustomerUser } from \"common/_models/customers/customerUser\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { TitleService } from \"common/services/title.service\";\r\n\r\n@Component({\r\n selector: \"app-profile\",\r\n templateUrl: \"./profile.component.html\",\r\n styleUrls: [\"./profile.component.css\"],\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n profileForm: FormGroup;\r\n iniObj: any;\r\n countryCode: string;\r\n countryIsoCode: string;\r\n validMobileNo = true;\r\n isEmailAvailable = false;\r\n languages: any;\r\n currencies: any;\r\n submitted: boolean;\r\n loading = false;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private lang: LanguageService,\r\n private ls: LoaderService,\r\n private gs: GeneralService,\r\n private customer: CustomerService,\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private titleService: TitleService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Profile\");\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n this.makeForm();\r\n this.getAllLanguage();\r\n this.getAllCurrencies();\r\n this.getCustomerData();\r\n }\r\n getCustomerData() {\r\n this.ls.showLoader();\r\n this.customer.getProfile().subscribe(\r\n (data) => {\r\n /*if (data['status'] === true) {*/\r\n\r\n const customerData = new CustomerUser().deserialize(data);\r\n\r\n this.setFormValue(customerData);\r\n this.ls.hideLoader();\r\n /*} else {*/\r\n // this.alert.error(data['message']);\r\n //this.ls.hideLoader();\r\n /*}*/\r\n },\r\n (err) => {\r\n // this.alert.error(err.error.message);\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n private makeForm() {\r\n this.profileForm = this.fb.group({\r\n firstName: [\"\", Validators.required],\r\n lastName: [\"\", Validators.required],\r\n mobileNo: [\"\", Validators.required],\r\n email: [\"\", Validators.required],\r\n languageId: [null, Validators.required],\r\n CurrencyId: [null, Validators.required],\r\n });\r\n }\r\n onPhoneCodeChange(obj) {\r\n this.countryCode = obj.dialCode;\r\n this.countryIsoCode = obj.iso2;\r\n }\r\n telInputObject(obj) {\r\n this.iniObj = obj;\r\n const countryData = obj.getSelectedCountryData();\r\n this.countryCode = countryData.dialCode;\r\n this.countryIsoCode = countryData.iso2;\r\n }\r\n private getAllLanguage() {\r\n this.ls.showLoader();\r\n this.lang.getAllLanguages().subscribe((data) => {\r\n if (data[\"status\"] === true) {\r\n this.languages = data[\"data\"];\r\n }\r\n this.ls.hideLoader();\r\n });\r\n }\r\n private getAllCurrencies() {\r\n this.ls.showLoader();\r\n this.gs.getAllCurrencies().subscribe((data) => {\r\n if (data[\"status\"] === true) {\r\n this.currencies = data[\"data\"];\r\n /*const formData = this.customerService.currentUserProfile;\r\n this.frmProfile.get('CurrencyId').setValue( formData.CurrencyId );*/\r\n this.ls.hideLoader();\r\n }\r\n });\r\n }\r\n setFormValue(customerData: CustomerUser) {\r\n if (customerData.phone_code !== null) {\r\n this.iniObj.setNumber(customerData.phone_code);\r\n }\r\n this.isEmailAvailable = customerData.email !== \"\" ? true : false;\r\n this.profileForm.get(\"firstName\").setValue(customerData.first_name);\r\n this.profileForm.get(\"lastName\").setValue(customerData.last_name);\r\n this.profileForm.get(\"mobileNo\").setValue(customerData.phone);\r\n this.profileForm.get(\"email\").setValue(customerData.email);\r\n this.profileForm\r\n .get(\"languageId\")\r\n .setValue(customerData.languageId.toString());\r\n this.profileForm\r\n .get(\"CurrencyId\")\r\n .setValue(customerData.currencyId.toString());\r\n }\r\n get f() {\r\n return this.profileForm.controls;\r\n }\r\n hasError(obj) {\r\n if (!obj && this.countryIsoCode === \"ae\") {\r\n const selectedNumber = this.iniObj.getNumber();\r\n // if (regex.test(selectedNumber)) {\r\n // this.validMobileNo = true;\r\n // } else {\r\n // this.validMobileNo = false;\r\n // }\r\n this.validMobileNo =\r\n /^(?:\\+971|00971|0)?(?:50|52|53|54|55|56|57|58|59|2|3|4|6|7|9)\\d{7}$/gm.test(\r\n selectedNumber\r\n );\r\n } else {\r\n this.validMobileNo = obj;\r\n }\r\n }\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.profileForm.invalid) {\r\n return;\r\n }\r\n const LanguageId = this.profileForm.value.languageId;\r\n const formData = {\r\n firstName: this.profileForm.value.firstName,\r\n lastName: this.profileForm.value.lastName,\r\n phone: this.profileForm.value.mobileNo,\r\n phoneCode: this.countryCode,\r\n languageId: LanguageId,\r\n currencyId: this.profileForm.value.CurrencyId,\r\n regionCode: this.countryIsoCode,\r\n };\r\n\r\n this.ls.showLoader();\r\n this.loading = true;\r\n this.customer.updateProfile(formData).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n\r\n const defaultLang = this.lang.getDefaultLanguage();\r\n if (defaultLang.id !== LanguageId.toString()) {\r\n const langDetail = this.lang.getLanguageDetailById(LanguageId);\r\n this.lang.changeLanguage(langDetail.lang_code);\r\n }\r\n\r\n this.customer.getProfile().subscribe(\r\n (data) => {\r\n setTimeout(() => {\r\n window.location.href = window.location.href;\r\n }, 2000);\r\n },\r\n (err) => {\r\n this.ls.hideLoader();\r\n }\r\n );\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n this.loading = false;\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n validForm(): boolean {\r\n if (!this.validMobileNo) {\r\n return false;\r\n }\r\n if (this.profileForm.invalid) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","import { Component, OnInit, TemplateRef, ViewChild } from \"@angular/core\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport {\r\n MatDatepicker,\r\n MatDatepickerInputEvent,\r\n} from \"@angular/material/datepicker\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport * as moment from \"moment\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport {\r\n BsModalRef,\r\n BsModalService,\r\n ModalDirective,\r\n} from \"ngx-bootstrap/modal\";\r\nimport { PageChangedEvent } from \"ngx-bootstrap/pagination\";\r\nimport { first } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"app-return-request\",\r\n templateUrl: \"./return-request.component.html\",\r\n styleUrls: [\"./return-request.component.css\"],\r\n})\r\nexport class ReturnRequestComponent implements OnInit {\r\n config = constEnv;\r\n\r\n returnRequestLists: ReturnRequest[] = [];\r\n\r\n pagination: Paging;\r\n itemPerPage = 12;\r\n\r\n @ViewChild(\"rejectReasonModal\", { static: false })\r\n rejectReasonModal: ModalDirective;\r\n\r\n @ViewChild(\"pickupDateConfirmModel\", { static: false })\r\n pickupDateConfirmModel: ModalDirective;\r\n\r\n @ViewChild(\"pickupDatePicker\", { static: false })\r\n pickupDatePicker: MatDatepicker;\r\n\r\n modalRef: BsModalRef;\r\n feedback: string = \"\";\r\n feedbackForm: FormGroup;\r\n submitted = false;\r\n ticketIdNumber: any;\r\n customerFeedBack: string;\r\n\r\n currentDate = new Date();\r\n minDate = new Date(this.currentDate.setDate(this.currentDate.getDate() + 1));\r\n maxDate = new Date(this.currentDate.setDate(this.currentDate.getDate() + 2));\r\n\r\n selectedPickupItem: any;\r\n selectedPickupDate: string;\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private ls: LoaderService,\r\n private customer: CustomerService,\r\n private alert: AlertService,\r\n private modalService: BsModalService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Return/Replace\");\r\n this.pagination = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n pageSize: this.itemPerPage,\r\n currentPage: 0,\r\n totalPages: 0,\r\n previousPage: \"\",\r\n nextPage: \"\",\r\n };\r\n const paging = { page: 0, itemsPerPage: this.itemPerPage };\r\n\r\n this.getReturnRequestLists(paging);\r\n\r\n this.feedbackForm = new FormGroup({\r\n feedback: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.maxLength(500),\r\n ]),\r\n });\r\n }\r\n\r\n getReturnRequestLists(paging: PageChangedEvent) {\r\n this.ls.showLoader();\r\n\r\n paging.page = paging.page > 0 ? paging.page - 1 : 0;\r\n paging.itemsPerPage = paging.itemsPerPage\r\n ? paging.itemsPerPage\r\n : this.itemPerPage;\r\n\r\n this.customer\r\n .getReturnRequestLists(paging)\r\n .pipe(first())\r\n .subscribe(\r\n (resp) => {\r\n if (resp[\"status\"] === true) {\r\n this.returnRequestLists = resp[\"data\"] as ReturnRequest[];\r\n this.pagination = JSON.parse(resp[\"paging\"]);\r\n } else {\r\n this.pagination.totalCount = 0;\r\n this.pagination.totalRowsAfterFiltering = 0;\r\n this.returnRequestLists = [];\r\n }\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n // this.alert.danger(err.error.message);\r\n this.returnRequestLists = [];\r\n this.pagination.totalCount = 0;\r\n this.pagination.totalRowsAfterFiltering = 0;\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n pageChange(paging: PageChangedEvent) {\r\n console.log(paging);\r\n paging.page = paging.page > 0 ? paging.page : 0;\r\n paging.itemsPerPage = paging.itemsPerPage\r\n ? paging.itemsPerPage\r\n : this.itemPerPage;\r\n\r\n this.getReturnRequestLists(paging);\r\n }\r\n\r\n returnRequestPayment(item: ReturnRequest) {\r\n this.ls.showLoader();\r\n const ticketDBId = item.id;\r\n sessionStorage.removeItem(btoa(\"ticketId\"));\r\n this.customer\r\n .returnRequestPayment(ticketDBId)\r\n .pipe(first())\r\n .subscribe(\r\n (resp) => {\r\n if (resp[\"status\"] === true) {\r\n if (resp[\"data\"].url) {\r\n sessionStorage.setItem(\r\n btoa(\"ticketId\"),\r\n btoa(ticketDBId.toString())\r\n );\r\n window.location.href = resp[\"data\"].url;\r\n }\r\n }\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n selectedItem: ReturnRequest = null;\r\n openRejectReasonModal(item: ReturnRequest, actionType: string) {\r\n if (actionType == \"feedback\") {\r\n this.customerFeedBack = item.customerFeedback;\r\n } else {\r\n this.customerFeedBack = \"\";\r\n this.selectedItem = item;\r\n }\r\n this.rejectReasonModal.show();\r\n }\r\n\r\n onRejectReasonModalHidden() {\r\n this.selectedItem = null;\r\n }\r\n openModal(template: TemplateRef, ticketId) {\r\n this.ticketIdNumber = ticketId;\r\n this.modalRef = this.modalService.show(template);\r\n }\r\n\r\n get f() {\r\n return this.feedbackForm.controls;\r\n }\r\n\r\n submitFeedback() {\r\n this.submitted = true;\r\n if (this.feedbackForm.valid) {\r\n this.ls.showLoader();\r\n const feedbackValue = this.feedbackForm.get(\"feedback\").value;\r\n\r\n const formData = new FormData();\r\n formData.append(\"TicketId\", this.ticketIdNumber);\r\n formData.append(\"Feedback\", feedbackValue);\r\n\r\n this.customer\r\n .addFeedBack(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (resp: Feedback) => {\r\n console.log(resp);\r\n if (resp[\"status\"] === true) {\r\n this.pagination = {\r\n totalCount: 0,\r\n totalRowsAfterFiltering: 0,\r\n pageSize: this.itemPerPage,\r\n currentPage: 0,\r\n totalPages: 0,\r\n previousPage: \"\",\r\n nextPage: \"\",\r\n };\r\n const paging = { page: 0, itemsPerPage: this.itemPerPage };\r\n\r\n this.getReturnRequestLists(paging);\r\n this.alert.success(resp.message);\r\n this.modalRef.hide();\r\n }\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n } else {\r\n this.feedbackForm.markAllAsTouched();\r\n }\r\n }\r\n\r\n isFeedBackVisible(item: any): boolean {\r\n if (\r\n item.returnStatusId == 22 &&\r\n item.isReplaced &&\r\n item.customerFeedback == \"\"\r\n ) {\r\n return true;\r\n }\r\n if (\r\n item.returnStatusId == 17 &&\r\n !item.isReplaced &&\r\n item.customerFeedback == \"\"\r\n ) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n showPickupDateByStatus(item: ReturnRequest): boolean {\r\n const returnStatusIds = [15, 16];\r\n if (item.pickupDate === \"\" && item.pickupDate === null) {\r\n return false;\r\n }\r\n if (returnStatusIds.indexOf(item.returnStatusId) !== -1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public myPickupDate: Date;\r\n openDatePicket() {\r\n // setTimeout(() => {\r\n this.pickupDatePicker.open();\r\n // }, 100);\r\n }\r\n pickupDateChange(event: MatDatepickerInputEvent, item: any) {\r\n // console.log(item);\r\n this.selectedPickupItem = item;\r\n const pickupDate = moment(event.value);\r\n this.selectedPickupDate = pickupDate.format(\"MM/DD/YYYY\");\r\n // event.value = null;\r\n this.pickupDateConfirmModel.show();\r\n }\r\n\r\n onPickDateConfirmModalHidden() {\r\n this.selectedPickupItem = [];\r\n this.selectedPickupDate = \"\";\r\n this.myPickupDate = null;\r\n }\r\n\r\n onPickupChangeDateButtonClicked() {\r\n this.myPickupDate = null;\r\n this.pickupDateConfirmModel.hide();\r\n setTimeout(() => {\r\n this.pickupDatePicker.open();\r\n }, 100);\r\n }\r\n\r\n updatePickupDate() {\r\n if (this.selectedPickupDate === \"\") {\r\n return;\r\n }\r\n if (!this.selectedPickupItem) {\r\n return;\r\n }\r\n\r\n const ticketDBId = this.selectedPickupItem.id;\r\n\r\n this.customer\r\n .updatePickupDate(ticketDBId, this.selectedPickupDate)\r\n .pipe(first())\r\n .subscribe(\r\n (resp) => {\r\n if (resp[\"status\"] === true) {\r\n this.ls.hideLoader();\r\n this.returnRequestPayment(this.selectedPickupItem);\r\n } else {\r\n this.alert.danger(resp[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n}\r\n\r\nexport interface Paging {\r\n totalCount: number;\r\n totalRowsAfterFiltering: number;\r\n pageSize: number;\r\n currentPage: number;\r\n totalPages: number;\r\n previousPage: string;\r\n nextPage: string;\r\n}\r\n\r\ninterface ReturnRequest {\r\n id: number;\r\n ticketId: string;\r\n createdDate: string;\r\n customerName: string;\r\n customerPhone: string;\r\n statusName: string;\r\n storeId: number;\r\n statusColor: string;\r\n backgroundColor: string;\r\n itemReturnReason: string;\r\n orderTotal: string;\r\n productName: string;\r\n productPrice: string;\r\n productImage: string;\r\n totalItem: number;\r\n isAccepted: boolean;\r\n isClosed: boolean;\r\n isInProgress: boolean;\r\n storeName: string;\r\n customerId: number;\r\n customerLangId: number;\r\n storeLangId: number;\r\n customerEmail: string;\r\n storeEmail: string;\r\n description: string;\r\n attachment: string;\r\n orderId: number;\r\n orderBaseDetailId: number;\r\n orderNo: string;\r\n statusId: number;\r\n returnStatusId: number;\r\n returnStatusName: string;\r\n deliveryHandleId: number;\r\n reason: string;\r\n isPickupByStore: boolean;\r\n customerFeedback: string;\r\n pickupDate: string;\r\n driverDetails: any[];\r\n}\r\n\r\ninterface Feedback {\r\n status: boolean;\r\n message: string;\r\n}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatSelectionList } from \"@angular/material/list\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { first } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"app-support-cancel-order\",\r\n templateUrl: \"./support-cancel-order.component.html\",\r\n styleUrls: [\"./support-cancel-order.component.css\"],\r\n})\r\nexport class SupportCancelOrderComponent implements OnInit {\r\n currentYear = new Date().getFullYear();\r\n config = constEnv;\r\n logoUrl;\r\n siteTitle;\r\n token: string = \"\";\r\n\r\n orderId: number = 0;\r\n\r\n orderInfo = [];\r\n patches = [];\r\n\r\n isOrderFound: boolean = false;\r\n currentUserProfile;\r\n\r\n @ViewChild(\"allCancelItemSelected\", { static: false })\r\n public allCancelItemSelected: MatSelectionList;\r\n\r\n allCancelItemComplete: boolean = false;\r\n cancelOrderItems: any[] = [];\r\n cancelOrderCurrencyCode: string = \"\";\r\n cancelRequestForm: FormGroup;\r\n isOpenCancelRequestModal: boolean = false;\r\n cancelReasonOptions: any = [];\r\n homeUrl = `${this.config.BASE_URL}home`;\r\n\r\n constructor(\r\n private titleService: TitleService,\r\n private gs: GeneralService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private ls: LoaderService,\r\n private authenticationService: AuthenticationService,\r\n private alert: AlertService,\r\n private customer: CustomerService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"Cancel Order\");\r\n this.token =\r\n this.route.snapshot.params.token !== \"\"\r\n ? this.route.snapshot.params.token\r\n : \"\";\r\n\r\n if (this.token === \"\") {\r\n this.router.navigate([this.homeUrl]);\r\n return false;\r\n }\r\n\r\n const decodedToken = atob(this.token).split(\"_\");\r\n this.orderId = parseInt(decodedToken[0]) || 0;\r\n if (this.orderId <= 0) {\r\n this.router.navigate([this.homeUrl]);\r\n return false;\r\n }\r\n const tokenDateTime = new Date(decodedToken[1]);\r\n this.currentUserProfile =\r\n this.authenticationService.currentUserProfileValue;\r\n // console.log(orderId, tokenDateTime);\r\n\r\n this.logoUrl = this.gs.getSiteLogo(true);\r\n this.siteTitle = this.config.projectTitle;\r\n this.getOrderDetail();\r\n }\r\n\r\n getOrderDetail() {\r\n this.ls.showLoader();\r\n this.customer\r\n .getCustomerOrderDetail(this.orderId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.orderInfo = data[\"data\"];\r\n this.patches = this.orderInfo[\"patchDtos\"];\r\n // console.log(data[\"data\"]);\r\n this.isOrderFound = true;\r\n if (\r\n this.currentUserProfile.cust_id !== this.orderInfo[\"customerId\"]\r\n ) {\r\n this.alert.danger(\"You are not authorized to view this page.\");\r\n this.router.navigate([this.homeUrl]);\r\n }\r\n if (this.getCancelableItems.length <= 0) {\r\n this.router.navigate([this.homeUrl]);\r\n }\r\n this.openCancelOrderPopup();\r\n this.ls.hideLoader();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n this.isOrderFound = false;\r\n this.router.navigate([this.homeUrl]);\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.isOrderFound = false;\r\n this.router.navigate([this.homeUrl]);\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n\r\n get getCancelableItems(): any {\r\n const validCancelStatus = [4, 5, 9, 11];\r\n const cancelableItems = [];\r\n if (this.orderInfo) {\r\n this.orderInfo[\"patchDtos\"].map((patch) => {\r\n patch.itemList.map((item) => {\r\n if (validCancelStatus.indexOf(item.statusId) !== -1) {\r\n cancelableItems.push(item);\r\n }\r\n });\r\n });\r\n }\r\n return cancelableItems;\r\n }\r\n\r\n private makeCancelRequestForm() {\r\n this.cancelRequestForm = this.fb.group({\r\n Phone: [null, Validators.required],\r\n ItemOptionId: [null, Validators.required],\r\n Description: [\"\"],\r\n Attachment: [null],\r\n });\r\n }\r\n\r\n getCancelReasonOption() {\r\n this.cancelReasonOptions = [];\r\n this.gs\r\n .getCancelReasonOptions()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.cancelReasonOptions = data[\"data\"];\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n }\r\n );\r\n }\r\n\r\n openCancelOrderPopup() {\r\n this.cancelOrderItems = this.getCancelableItems;\r\n this.cancelOrderCurrencyCode =\r\n (this.cancelOrderItems.length > 0 &&\r\n this.cancelOrderItems[0].currencyCode) ||\r\n \"\";\r\n this.isOpenCancelRequestModal = true;\r\n this.getCancelReasonOption();\r\n this.makeCancelRequestForm();\r\n\r\n setTimeout(() => {\r\n this.cancelRequestForm\r\n .get(\"Phone\")\r\n .setValue(this.orderInfo[\"customerPhone\"]);\r\n }, 100);\r\n }\r\n\r\n toggleCancelSelection(completed: boolean) {\r\n this.allCancelItemComplete = completed;\r\n if (completed) {\r\n this.allCancelItemSelected.selectAll();\r\n } else {\r\n this.allCancelItemSelected.deselectAll();\r\n }\r\n }\r\n\r\n isAllCancelSelected() {\r\n return (\r\n this.allCancelItemSelected.selectedOptions.selected.length ===\r\n this.allCancelItemSelected.options.length\r\n );\r\n }\r\n\r\n onCancelSelectionListChange(event) {\r\n this.allCancelItemComplete = this.isAllCancelSelected();\r\n }\r\n\r\n someCancelComplete() {\r\n return (\r\n this.allCancelItemSelected &&\r\n this.allCancelItemSelected.selectedOptions.selected.length > 0 &&\r\n !this.allCancelItemComplete\r\n );\r\n }\r\n\r\n isCancelFormValid(): boolean {\r\n if (this.cancelRequestForm.invalid) {\r\n return false;\r\n }\r\n\r\n if (this.cancelOrderItems.length === 0) {\r\n return false;\r\n }\r\n\r\n if (\r\n this.allCancelItemSelected &&\r\n this.allCancelItemSelected.selectedOptions.selected.length === 0\r\n ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n onCancelRequestSubmit() {\r\n if (!this.isCancelFormValid()) {\r\n return;\r\n }\r\n\r\n const selectedItems =\r\n this.allCancelItemSelected.selectedOptions.selected.map(\r\n (item) => item.value\r\n );\r\n\r\n const orderDetailIdSet = [];\r\n selectedItems.forEach((item) => {\r\n orderDetailIdSet.push(item.orderDetailId);\r\n });\r\n\r\n const formData = new FormData();\r\n formData.append(\"ItemOptionId\", this.cancelRequestForm.value.ItemOptionId);\r\n formData.append(\r\n \"OrderDetailId\",\r\n this.allCancelItemComplete ? \"\" : orderDetailIdSet.join(\",\")\r\n );\r\n formData.append(\"StoreId\", \"0\");\r\n formData.append(\"OrderBaseDetailId\", this.orderInfo[\"orderId\"]);\r\n formData.append(\"Description\", this.cancelRequestForm.value.Description);\r\n formData.append(\"Attachment\", this.cancelRequestForm.value.Attachment);\r\n formData.append(\"Phone\", this.cancelRequestForm.value.Phone);\r\n\r\n this.ls.showLoader();\r\n this.customer\r\n .cancelRequestTickets(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n this.ls.hideLoader();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n this.router.navigate([this.homeUrl]);\r\n },\r\n (err) => {\r\n if (typeof err.error !== \"undefined\") {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alert.danger(msg);\r\n }\r\n this.router.navigate([this.homeUrl]);\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport {\r\n NgxGalleryOptions,\r\n NgxGalleryImage,\r\n NgxGalleryAnimation,\r\n} from \"ngx-gallery-9\";\r\nimport { first } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"app-detail\",\r\n templateUrl: \"./detail.component.html\",\r\n styleUrls: [\"./detail.component.css\"],\r\n})\r\nexport class DetailComponent implements OnInit {\r\n galleryOptions: NgxGalleryOptions[];\r\n galleryImages: NgxGalleryImage[] = [];\r\n productInfo = [];\r\n productId = 0;\r\n config = constEnv;\r\n listUrl: string;\r\n fetchImages = [];\r\n product_attribute = \"\";\r\n\r\n constructor(\r\n private ls: LoaderService,\r\n private customer: CustomerService,\r\n private alert: AlertService,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.productId =\r\n this.route.snapshot.params.id > 0 ? this.route.snapshot.params.id : 0;\r\n\r\n this.listUrl = `${this.config.CUSTOMER_URL}/wishlist`;\r\n\r\n if (this.productId <= 0) {\r\n this.router.navigate([this.listUrl]);\r\n return false;\r\n }\r\n this.getProductDetail();\r\n this.galleryOptions = [\r\n {\r\n width: \"100%\",\r\n height: \"400px\",\r\n thumbnailsColumns: 4,\r\n imageAnimation: NgxGalleryAnimation.Slide,\r\n },\r\n // max-width 800\r\n {\r\n breakpoint: 800,\r\n width: \"100%\",\r\n height: \"600px\",\r\n imagePercent: 80,\r\n thumbnailsPercent: 20,\r\n thumbnailsMargin: 20,\r\n thumbnailMargin: 20,\r\n },\r\n // max-width 400\r\n {\r\n breakpoint: 400,\r\n preview: false,\r\n },\r\n ];\r\n }\r\n getProductDetail() {\r\n this.ls.showLoader();\r\n this.customer\r\n .getProductDetail(this.productId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.productInfo = data[\"data\"];\r\n // console.log(this.productInfo);\r\n this.fetchImages = this.productInfo[\"imageUrl\"];\r\n this.product_attribute = this.productInfo[\"attribute\"];\r\n // console.log(this.product_attribute);\r\n var images = [];\r\n for (var i = 0; i < this.fetchImages.length; i++) {\r\n this.galleryImages.push({\r\n small: this.fetchImages[i],\r\n medium: this.fetchImages[i],\r\n big: this.fetchImages[i],\r\n });\r\n }\r\n this.ls.hideLoader();\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n this.ls.hideLoader();\r\n }\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (msg !== \"\") {\r\n this.alert.danger(err.error.message);\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { constEnv } from 'common/constants.env';\r\nimport { AuthGuard } from 'common/_helpers/auth.guard';\r\nimport { WishlistComponent } from \"./wishlist/wishlist.component\";\r\nimport { DetailComponent } from \"./detail/detail.component\";\r\nconst WISHLIST_ENDPOINT = `${constEnv.customerEndPoint}/wishlist`;\r\nconst routes: Routes = [\r\n {\r\n path: `${WISHLIST_ENDPOINT}`,\r\n children: [\r\n { path: 'detail',\r\n children: [\r\n { path: ':id', component: DetailComponent },\r\n { path: '', redirectTo: `${WISHLIST_ENDPOINT}`, pathMatch: 'full'}\r\n ]\r\n },\r\n { path: '', component: WishlistComponent }\r\n ],\r\n \r\n canActivate: [AuthGuard]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class WishlistRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { WishlistRoutingModule } from \"./wishlist-routing.module\";\r\nimport { WishlistComponent } from \"./wishlist/wishlist.component\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { TemplateDefaultModule } from \"../../../shared/template-default/template-default.module\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { DetailComponent } from \"./detail/detail.component\";\r\nimport { NgxGalleryModule } from \"ngx-gallery-9\";\r\nimport { PipeModule } from \"common/_pipe/pipe.module\";\r\n@NgModule({\r\n declarations: [WishlistComponent, DetailComponent],\r\n imports: [\r\n CommonModule,\r\n WishlistRoutingModule,\r\n RouterModule,\r\n TemplateDefaultModule,\r\n TranslateModule,\r\n NgxGalleryModule,\r\n PipeModule,\r\n ],\r\n})\r\nexport class WishlistModule {}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { LoaderService } from \"common/services/loader.service\";\r\nimport { PageChangedEvent } from \"ngx-bootstrap/pagination\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { BsModalService, BsModalRef } from \"ngx-bootstrap/modal\";\r\nimport { Subscription, combineLatest } from \"rxjs\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { TitleService } from \"common/services/title.service\";\r\nimport { CartService } from \"common/services/site/cartservice\";\r\n\r\n@Component({\r\n selector: \"app-wishlist\",\r\n templateUrl: \"./wishlist.component.html\",\r\n styleUrls: [\"./wishlist.component.css\"],\r\n})\r\nexport class WishlistComponent implements OnInit {\r\n itemsPerPage = 9;\r\n currentPage = 0;\r\n myWishlists: any;\r\n totalRows = 0;\r\n noWishlistsMsg = \"\";\r\n config = constEnv;\r\n modalRef: BsModalRef;\r\n subscriptions: Subscription[] = [];\r\n selectedWishlistId: any;\r\n\r\n constructor(\r\n private ls: LoaderService,\r\n private cs: CustomerService,\r\n private modalService: BsModalService,\r\n private titleService: TitleService,\r\n private changeDetection: ChangeDetectorRef,\r\n private alert: AlertService,\r\n private isLoadingService: IsLoadingService,\r\n private cart: CartService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\"USER_My_Wishlist\");\r\n if (this.isLoadingService.isLoading$()) {\r\n this.isLoadingService.remove();\r\n }\r\n const paging = { page: 0, itemsPerPage: this.itemsPerPage };\r\n this.loadMyWishlists(paging);\r\n }\r\n loadMyWishlists(paging: PageChangedEvent) {\r\n this.ls.showLoader();\r\n paging.page = paging.page > 0 ? paging.page - 1 : 0;\r\n paging.itemsPerPage = paging.itemsPerPage\r\n ? paging.itemsPerPage\r\n : this.itemsPerPage;\r\n this.currentPage = paging.page;\r\n\r\n this.cs\r\n .getCustomerWishList(paging)\r\n .pipe(first())\r\n .subscribe(\r\n (res) => {\r\n // console.log(res);\r\n if (res[\"status\"] === true) {\r\n this.myWishlists = res[\"data\"];\r\n const paging = JSON.parse(res[\"paging\"]);\r\n this.totalRows = paging.totalCount;\r\n } else {\r\n this.myWishlists = [];\r\n // this.alert.error( res['message'] );\r\n this.noWishlistsMsg = res[\"message\"];\r\n }\r\n this.ls.hideLoader();\r\n },\r\n (err) => {\r\n this.myWishlists = [];\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.myWishlists = [];\r\n this.totalRows = 0;\r\n if (msg !== \"\") {\r\n // this.alert.error(msg);\r\n this.noWishlistsMsg = msg;\r\n }\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n openModal(template: TemplateRef) {\r\n const _combine = combineLatest(\r\n this.modalService.onShow,\r\n this.modalService.onShown,\r\n this.modalService.onHide,\r\n this.modalService.onHidden\r\n ).subscribe(() => this.changeDetection.markForCheck());\r\n\r\n this.subscriptions.push(\r\n this.modalService.onShow.subscribe((reason: string) => {})\r\n );\r\n\r\n this.subscriptions.push(\r\n this.modalService.onHidden.subscribe((reason: string) => {\r\n this.unsubscribe();\r\n })\r\n );\r\n\r\n this.subscriptions.push(_combine);\r\n\r\n this.modalRef = this.modalService.show(template, { class: \"modal-sm\" });\r\n }\r\n unsubscribe() {\r\n this.subscriptions.forEach((subscription: Subscription) => {\r\n subscription.unsubscribe();\r\n });\r\n this.subscriptions = [];\r\n }\r\n removeFromWishlist(wishlistId) {\r\n if (wishlistId > 0) {\r\n this.ls.showLoader();\r\n this.cs.removeCustomerWishlist(wishlistId).subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alert.success(data[\"message\"]);\r\n } else {\r\n this.alert.danger(data[\"message\"]);\r\n }\r\n this.cart.sendCartCountEvent();\r\n this.modalRef.hide();\r\n this.ls.hideLoader();\r\n const paging = {\r\n page: this.currentPage,\r\n itemsPerPage: this.itemsPerPage,\r\n };\r\n this.loadMyWishlists(paging);\r\n },\r\n (err) => {\r\n const mgs =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n if (mgs !== null) {\r\n this.alert.danger(mgs);\r\n }\r\n this.modalRef.hide();\r\n this.ls.hideLoader();\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\n\r\n@Component({\r\n selector: \"app-footer\",\r\n templateUrl: \"./footer.component.html\",\r\n styleUrls: [\"./footer.component.css\"],\r\n})\r\nexport class FooterComponent implements OnInit {\r\n currentYear = new Date().getFullYear();\r\n siteTitle = constEnv.projectTitle;\r\n\r\n config = constEnv;\r\n\r\n constructor(public gs: GeneralService) {}\r\n\r\n ngOnInit() {}\r\n}\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\nimport { EventEmitterService } from \"common/services/event-emitter.service\";\r\nimport { FixedElementService } from \"common/services/fixed-element.service\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { CartService } from \"common/services/site/cartservice\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"app-header\",\r\n templateUrl: \"./header.component.html\",\r\n styleUrls: [\"./header.component.css\"],\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n config = constEnv;\r\n logoUrl;\r\n siteTitle;\r\n\r\n cartCount = 0;\r\n wishListCount = 0;\r\n\r\n cartCountEventsubscription: Subscription;\r\n\r\n @Input() isFirstTimeLogin: boolean = false;\r\n\r\n headerStyle = {};\r\n\r\n constructor(\r\n private gs: GeneralService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private isLoadingService: IsLoadingService,\r\n private langService: LanguageService,\r\n private eventEmitterService: EventEmitterService,\r\n private cart: CartService,\r\n private fixedElementService: FixedElementService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.logoUrl = this.gs.getSiteLogo(true);\r\n this.siteTitle = this.config.projectTitle;\r\n\r\n this.fixedElementService.fixedElementHeight$.subscribe((height) => {\r\n const actualHeight = height;\r\n this.headerStyle = { \"margin-top\": `${actualHeight}px` };\r\n });\r\n\r\n this.cartCountEventsubscription = this.cart\r\n .getCartCountEvent()\r\n .subscribe(() => {\r\n this.getCartCount();\r\n });\r\n\r\n this.getCartCount();\r\n }\r\n\r\n getCartCount() {\r\n this.cart.getCartCount().subscribe(\r\n (data) => {\r\n this.cartCount =\r\n typeof data[\"data\"] !== \"undefined\" && data[\"data\"] > 0\r\n ? data[\"data\"]\r\n : 0;\r\n this.wishListCount =\r\n typeof data[\"wishlistCount\"] !== \"undefined\" &&\r\n data[\"wishlistCount\"] > 0\r\n ? data[\"wishlistCount\"]\r\n : 0;\r\n },\r\n (err) => {\r\n this.cartCount = 0;\r\n this.wishListCount = 0;\r\n }\r\n );\r\n }\r\n\r\n logout() {\r\n this.isLoadingService.add();\r\n // this.langService.changeLanguage(this.langService.defaultLanguage);\r\n this.authenticationService.logout();\r\n const loginURL = `${this.config.BASE_URL}login`;\r\n\r\n const settingLang = this.gs.getSettings(\"default_language\");\r\n\r\n const changeLangCode =\r\n settingLang !== \"\" ? settingLang : this.langService.defaultLanguage;\r\n\r\n this.langService.getAvailableLanguages().map((lang) => {\r\n if (changeLangCode === lang.lang_code) {\r\n this.langService._setLanguage(lang.lang_code);\r\n localStorage.setItem(\"defaultLang\", JSON.stringify(lang));\r\n }\r\n });\r\n\r\n this.langService\r\n .getLanguageTranslation(this.langService.getCurrentLanguage())\r\n .subscribe((translationsJSON) => {\r\n this.langService.setLanguageTranslation(translationsJSON);\r\n window.location.href = loginURL;\r\n });\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n TemplateRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { constEnv } from \"common/constants.env\";\r\nimport { AuthenticationService } from \"common/services/authentication.service\";\r\nimport { NavItem } from \"common/_models/nav-item\";\r\nimport { IsLoadingService } from \"@service-work/is-loading\";\r\nimport { LanguageService } from \"common/services/language.service\";\r\nimport { GeneralService } from \"common/services/general.service\";\r\nimport {\r\n BsModalRef,\r\n BsModalService,\r\n ModalDirective,\r\n} from \"ngx-bootstrap/modal\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { CustomerService } from \"common/services/customers/customer.service\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AlertService } from \"@full-fledged/alerts\";\r\n\r\n@Component({\r\n selector: \"app-siderbar\",\r\n templateUrl: \"./siderbar.component.html\",\r\n styleUrls: [\"./siderbar.component.css\"],\r\n})\r\nexport class SiderbarComponent implements OnInit {\r\n prifilePic = `${constEnv.IMAGE_PATH}/assets/profile-photo.png`;\r\n currentUserProfile;\r\n config = constEnv;\r\n navItems: NavItem[] = [\r\n {\r\n displayName: \"Profile\",\r\n iconName: \"person\",\r\n route: `${this.config.CUSTOMER_URL}/profile`,\r\n },\r\n {\r\n displayName: \"Orders\",\r\n iconName: \"local_mall\",\r\n route: `${this.config.CUSTOMER_URL}/orders`,\r\n },\r\n {\r\n displayName: \"Address\",\r\n iconName: \"person_pin\",\r\n route: `${this.config.CUSTOMER_URL}/address`,\r\n },\r\n {\r\n displayName: \"Wishlist\",\r\n iconName: \"favorite\",\r\n route: `${this.config.CUSTOMER_URL}/wishlist`,\r\n },\r\n {\r\n displayName: \"Return / Replace Requests\",\r\n iconName: \"assignment_return\",\r\n route: `${this.config.CUSTOMER_URL}/return-request-list`,\r\n },\r\n {\r\n displayName: \"Cancel Requests\",\r\n iconName: \"cancel_presentation\",\r\n route: `${this.config.CUSTOMER_URL}/cancel-request`,\r\n },\r\n {\r\n displayName: \"Jobs\",\r\n iconName: \"task\",\r\n route: `${this.config.CUSTOMER_URL}/job`,\r\n },\r\n ];\r\n\r\n modalRef: BsModalRef;\r\n\r\n @ViewChild(\"openPhotoModal\", { static: false })\r\n openPhotoModal: ModalDirective;\r\n showOpenPhotoModal: boolean = false;\r\n\r\n changeProfilePicFrm: FormGroup;\r\n @ViewChild(\"fileInput\", { static: true }) fileInput: ElementRef;\r\n\r\n fileData: File = null;\r\n previewUrl: any = null;\r\n fileUploadProgress: string = null;\r\n uploadedFilePath: string = null;\r\n\r\n constructor(\r\n private authenticationService: AuthenticationService,\r\n private isLoadingService: IsLoadingService,\r\n private langService: LanguageService,\r\n private gs: GeneralService,\r\n private modalService: BsModalService,\r\n private fb: FormBuilder,\r\n private customerService: CustomerService,\r\n private alertService: AlertService\r\n ) {\r\n this.changeProfilePicFrm = this.fb.group({\r\n profilePhoto: null,\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.currentUserProfile =\r\n this.authenticationService.currentUserProfileValue;\r\n }\r\n logout() {\r\n this.isLoadingService.add();\r\n // this.langService.changeLanguage(this.langService.defaultLanguage);\r\n this.authenticationService.logout();\r\n const loginURL = `${this.config.BASE_URL}login`;\r\n\r\n const settingLang = this.gs.getSettings(\"default_language\");\r\n\r\n const changeLangCode =\r\n settingLang !== \"\" ? settingLang : this.langService.defaultLanguage;\r\n\r\n this.langService.getAvailableLanguages().map((lang) => {\r\n if (changeLangCode === lang.lang_code) {\r\n this.langService._setLanguage(lang.lang_code);\r\n localStorage.setItem(\"defaultLang\", JSON.stringify(lang));\r\n }\r\n });\r\n\r\n this.langService\r\n .getLanguageTranslation(this.langService.getCurrentLanguage())\r\n .subscribe((translationsJSON) => {\r\n this.langService.setLanguageTranslation(translationsJSON);\r\n window.location.href = loginURL;\r\n });\r\n }\r\n\r\n openModal() {\r\n this.showOpenPhotoModal = true;\r\n }\r\n\r\n onHidden() {\r\n this.showOpenPhotoModal = false;\r\n this.changeProfilePicFrm.reset();\r\n this.fileData = null;\r\n this.previewUrl = null;\r\n this.fileUploadProgress = null;\r\n }\r\n\r\n fileProgress(fileInput: any) {\r\n this.fileData = fileInput.target.files[0] as File;\r\n const allowedImageTypes = [\"image/jpeg\", \"image/jpg\", \"image/png\"];\r\n if (allowedImageTypes.includes(this.fileData.type)) {\r\n this.preview();\r\n } else {\r\n this.alertService.danger(\"Please upload only JPG, JPEG, or PNG image.\");\r\n fileInput.target.value = null;\r\n this.fileData = null;\r\n this.previewUrl = null;\r\n this.changeProfilePicFrm.get(\"profilePhoto\").setValue(null);\r\n }\r\n }\r\n\r\n preview() {\r\n // Show preview\r\n const mimeType = this.fileData.type;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(this.fileData);\r\n reader.onload = (_event) => {\r\n this.previewUrl = reader.result;\r\n this.changeProfilePicFrm.get(\"profilePhoto\").setValue({\r\n filename: this.fileData.name,\r\n filetype: this.fileData.type,\r\n value: this.previewUrl.split(\",\")[1],\r\n });\r\n };\r\n }\r\n\r\n onSubmit() {\r\n this.isLoadingService.add();\r\n const formData = new FormData();\r\n formData.append(\"postedfile\", this.fileData);\r\n this.customerService\r\n .changeProfilePhoto(formData)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data[\"status\"] === true) {\r\n this.alertService.success(data[\"message\"]);\r\n this.showOpenPhotoModal = false;\r\n location.reload();\r\n } else {\r\n this.alertService.danger(data[\"message\"]);\r\n }\r\n this.isLoadingService.remove();\r\n },\r\n (err) => {\r\n const msg =\r\n typeof err.error.Message !== \"undefined\"\r\n ? err.error.Message\r\n : err.error.message;\r\n this.alertService.danger(msg);\r\n this.isLoadingService.remove();\r\n }\r\n );\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { HeaderComponent } from \"./header/header.component\";\r\nimport { FooterComponent } from \"./footer/footer.component\";\r\nimport { SiderbarComponent } from \"./siderbar/siderbar.component\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { MaterialModule } from \"common/modules/material.module\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { ComponentModule } from \"common/_components/components.module\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\n\r\n@NgModule({\r\n declarations: [HeaderComponent, FooterComponent, SiderbarComponent],\r\n imports: [\r\n CommonModule,\r\n TranslateModule.forRoot(),\r\n MaterialModule,\r\n RouterModule,\r\n ComponentModule,\r\n FormsModule,\r\n BrowserAnimationsModule,\r\n ReactiveFormsModule,\r\n ModalModule.forRoot(),\r\n ],\r\n exports: [HeaderComponent, FooterComponent, SiderbarComponent],\r\n})\r\nexport class TemplateDefaultModule {}\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/plugins/zone-error'; // Included with Angular CLI.\r\n","\r\nimport { 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","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".amount-lable {\\r\\n max-width: 150px;\\r\\n}\\r\\n\\r\\n.th_image {\\r\\n width: 10%;\\r\\n}\\r\\n.th_items {\\r\\n width: 40%;\\r\\n}\\r\\n\\r\\n.th_price {\\r\\n width: 20%;\\r\\n}\\r\\n\\r\\n.th_qty {\\r\\n width: 10%;\\r\\n}\\r\\n\\r\\n.th_total {\\r\\n width: 20%;\\r\\n}\\r\\n\\r\\n:host::ng-deep .popover-header {\\r\\n font-size: 90%;\\r\\n}\\r\\n.driver_info {\\r\\n cursor: pointer;\\r\\n}\\r\\n.driver_info mat-icon {\\r\\n font-size: 20px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n}\\r\\n.driver-content-container mat-icon {\\r\\n font-size: 20px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./projects/store/src/app/pages/orders/detail/detail.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,gBAAgB;AAClB;;AAEA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,cAAc;AAChB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;EACf,YAAY;EACZ,WAAW;AACb;AACA;EACE,eAAe;EACf,YAAY;EACZ,WAAW;AACb\",\"sourcesContent\":[\".amount-lable {\\r\\n max-width: 150px;\\r\\n}\\r\\n\\r\\n.th_image {\\r\\n width: 10%;\\r\\n}\\r\\n.th_items {\\r\\n width: 40%;\\r\\n}\\r\\n\\r\\n.th_price {\\r\\n width: 20%;\\r\\n}\\r\\n\\r\\n.th_qty {\\r\\n width: 10%;\\r\\n}\\r\\n\\r\\n.th_total {\\r\\n width: 20%;\\r\\n}\\r\\n\\r\\n:host::ng-deep .popover-header {\\r\\n font-size: 90%;\\r\\n}\\r\\n.driver_info {\\r\\n cursor: pointer;\\r\\n}\\r\\n.driver_info mat-icon {\\r\\n font-size: 20px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n}\\r\\n.driver-content-container mat-icon {\\r\\n font-size: 20px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".product-section img {\\r\\n max-height: 250px;\\r\\n min-height: 250px;\\r\\n object-fit: cover;\\r\\n width: 100%;\\r\\n}\\r\\n.driver_info span {\\r\\n cursor: pointer;\\r\\n text-decoration: underline;\\r\\n}\\r\\n.driver-content-container {\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding-bottom: 4px;\\r\\n margin-bottom: 4px;\\r\\n}\\r\\n.driver-content-container:last-child {\\r\\n border-bottom: 0;\\r\\n padding-bottom: 0;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./projects/store/src/app/pages/return-request/detail/detail.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,iBAAiB;EACjB,iBAAiB;EACjB,iBAAiB;EACjB,WAAW;AACb;AACA;EACE,eAAe;EACf,0BAA0B;AAC5B;AACA;EACE,6BAA6B;EAC7B,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;EAChB,iBAAiB;EACjB,gBAAgB;AAClB\",\"sourcesContent\":[\".product-section img {\\r\\n max-height: 250px;\\r\\n min-height: 250px;\\r\\n object-fit: cover;\\r\\n width: 100%;\\r\\n}\\r\\n.driver_info span {\\r\\n cursor: pointer;\\r\\n text-decoration: underline;\\r\\n}\\r\\n.driver-content-container {\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding-bottom: 4px;\\r\\n margin-bottom: 4px;\\r\\n}\\r\\n.driver-content-container:last-child {\\r\\n border-bottom: 0;\\r\\n padding-bottom: 0;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".is-invalid .c-btn {\\r\\n border-color: #dc3545;\\r\\n}\\r\\nagm-map {\\r\\n height: 300px;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./projects/store/src/app/pages/settings/store/store.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;AACf\",\"sourcesContent\":[\".is-invalid .c-btn {\\r\\n border-color: #dc3545;\\r\\n}\\r\\nagm-map {\\r\\n height: 300px;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".mat-form-field-appearance-outline.ng-invalid .mat-form-field-outline-thick {\\r\\n color: brown;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./projects/store/src/app/pages/shipping-rate/action/action.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,YAAY;AACd\",\"sourcesContent\":[\".mat-form-field-appearance-outline.ng-invalid .mat-form-field-outline-thick {\\r\\n color: brown;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".header .navbar-toggler-icon {\\r\\n background-image: url(\\\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\\\");\\r\\n}\\r\\n.logo-block img {\\r\\n max-width: 200px;\\r\\n}\\r\\n\\r\\n.header-users-links a {\\r\\n margin-left: 1rem;\\r\\n color: var(--gray);\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.top-header a {\\r\\n color: var(--gray);\\r\\n font-size: 15px;\\r\\n}\\r\\n@media (max-width: 767px) {\\r\\n .header .btn {\\r\\n background-color: transparent !important;\\r\\n border: 0 !important;\\r\\n padding: 0.25rem !important;\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n }\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./projects/store/src/app/shared/template-default/header/header.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,wPAAwP;AAC1P;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,iBAAiB;EACjB,kBAAkB;EAClB,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE;IACE,wCAAwC;IACxC,oBAAoB;IACpB,2BAA2B;IAC3B,yBAAyB;EAC3B;AACF\",\"sourcesContent\":[\".header .navbar-toggler-icon {\\r\\n background-image: url(\\\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\\\");\\r\\n}\\r\\n.logo-block img {\\r\\n max-width: 200px;\\r\\n}\\r\\n\\r\\n.header-users-links a {\\r\\n margin-left: 1rem;\\r\\n color: var(--gray);\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.top-header a {\\r\\n color: var(--gray);\\r\\n font-size: 15px;\\r\\n}\\r\\n@media (max-width: 767px) {\\r\\n .header .btn {\\r\\n background-color: transparent !important;\\r\\n border: 0 !important;\\r\\n padding: 0.25rem !important;\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n }\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".user-image-thumb {\\r\\n position: relative;\\r\\n}\\r\\n.user-image-thumb img {\\r\\n opacity: 1;\\r\\n transition: 0.5s ease;\\r\\n backface-visibility: hidden;\\r\\n}\\r\\n.user-image-hover {\\r\\n transition: 0.5s ease;\\r\\n opacity: 0;\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n -ms-transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.user-image-thumb:hover img {\\r\\n opacity: 0.3;\\r\\n}\\r\\n\\r\\n.user-image-thumb:hover .user-image-hover {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\ncustom-file-upload-wrap {\\r\\n padding: 2rem 1rem;\\r\\n border: 1px solid var(--light);\\r\\n position: relative;\\r\\n}\\r\\n.custom-file-upload-wrap input[type=\\\"file\\\"] {\\r\\n opacity: 0;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n right: 0;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n z-index: 2;\\r\\n cursor: pointer;\\r\\n}\\r\\n.custom-file-upload-wrap label {\\r\\n display: inline-block;\\r\\n margin-bottom: 0.5rem;\\r\\n font-weight: 500;\\r\\n font-size: 0.85rem;\\r\\n font-family: var(--font-montserrat);\\r\\n color: var(--dark);\\r\\n cursor: pointer;\\r\\n}\\r\\n.custom-file-upload-circle {\\r\\n border-radius: 50%;\\r\\n margin: 0 auto;\\r\\n height: 250px;\\r\\n width: 250px;\\r\\n /* line-height: 200px; */\\r\\n overflow: hidden;\\r\\n}\\r\\n.custom-file-upload-wrap > img {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n width: 100%;\\r\\n object-fit: cover;\\r\\n height: 100%;\\r\\n z-index: 1;\\r\\n}\\r\\n#uploadDocument .close {\\r\\n position: absolute;\\r\\n right: -30px;\\r\\n color: var(--white);\\r\\n opacity: 1;\\r\\n text-shadow: none;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./projects/store/src/app/shared/template-default/sidebar/sidebar.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAkB;AACpB;AACA;EACE,UAAU;EACV,qBAAqB;EACrB,2BAA2B;AAC7B;AACA;EACE,qBAAqB;EACrB,UAAU;EACV,kBAAkB;EAClB,QAAQ;EACR,SAAS;EACT,gCAAgC;EAChC,oCAAoC;EACpC,kBAAkB;AACpB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,kBAAkB;EAClB,8BAA8B;EAC9B,kBAAkB;AACpB;AACA;EACE,UAAU;EACV,kBAAkB;EAClB,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,WAAW;EACX,MAAM;EACN,SAAS;EACT,UAAU;EACV,eAAe;AACjB;AACA;EACE,qBAAqB;EACrB,qBAAqB;EACrB,gBAAgB;EAChB,kBAAkB;EAClB,mCAAmC;EACnC,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,cAAc;EACd,aAAa;EACb,YAAY;EACZ,wBAAwB;EACxB,gBAAgB;AAClB;AACA;EACE,kBAAkB;EAClB,OAAO;EACP,MAAM;EACN,WAAW;EACX,iBAAiB;EACjB,YAAY;EACZ,UAAU;AACZ;AACA;EACE,kBAAkB;EAClB,YAAY;EACZ,mBAAmB;EACnB,UAAU;EACV,iBAAiB;AACnB\",\"sourcesContent\":[\".user-image-thumb {\\r\\n position: relative;\\r\\n}\\r\\n.user-image-thumb img {\\r\\n opacity: 1;\\r\\n transition: 0.5s ease;\\r\\n backface-visibility: hidden;\\r\\n}\\r\\n.user-image-hover {\\r\\n transition: 0.5s ease;\\r\\n opacity: 0;\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n -ms-transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.user-image-thumb:hover img {\\r\\n opacity: 0.3;\\r\\n}\\r\\n\\r\\n.user-image-thumb:hover .user-image-hover {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\ncustom-file-upload-wrap {\\r\\n padding: 2rem 1rem;\\r\\n border: 1px solid var(--light);\\r\\n position: relative;\\r\\n}\\r\\n.custom-file-upload-wrap input[type=\\\"file\\\"] {\\r\\n opacity: 0;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n right: 0;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n z-index: 2;\\r\\n cursor: pointer;\\r\\n}\\r\\n.custom-file-upload-wrap label {\\r\\n display: inline-block;\\r\\n margin-bottom: 0.5rem;\\r\\n font-weight: 500;\\r\\n font-size: 0.85rem;\\r\\n font-family: var(--font-montserrat);\\r\\n color: var(--dark);\\r\\n cursor: pointer;\\r\\n}\\r\\n.custom-file-upload-circle {\\r\\n border-radius: 50%;\\r\\n margin: 0 auto;\\r\\n height: 250px;\\r\\n width: 250px;\\r\\n /* line-height: 200px; */\\r\\n overflow: hidden;\\r\\n}\\r\\n.custom-file-upload-wrap > img {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n width: 100%;\\r\\n object-fit: cover;\\r\\n height: 100%;\\r\\n z-index: 1;\\r\\n}\\r\\n#uploadDocument .close {\\r\\n position: absolute;\\r\\n right: -30px;\\r\\n color: var(--white);\\r\\n opacity: 1;\\r\\n text-shadow: none;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".demo-text {\\r\\n transition: all 0.3s ease-in-out;\\r\\n}\\r\\n\\r\\n.sticky {\\r\\n position: fixed;\\r\\n top: -50px; /* Start slightly off-screen for animation */\\r\\n width: 100%;\\r\\n z-index: 9;\\r\\n background-color: #333;\\r\\n color: white;\\r\\n /* box-shadow: 0 4px 2px -2px gray; */\\r\\n animation: slideDown 0.3s forwards; /* Use CSS animation */\\r\\n}\\r\\n\\r\\n/* Slide down animation */\\r\\n@keyframes slideDown {\\r\\n from {\\r\\n top: -50px; /* Start out of view */\\r\\n }\\r\\n to {\\r\\n top: 0; /* Slide into view */\\r\\n }\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/app.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,gCAAgC;AAClC;;AAEA;EACE,eAAe;EACf,UAAU,EAAE,4CAA4C;EACxD,WAAW;EACX,UAAU;EACV,sBAAsB;EACtB,YAAY;EACZ,qCAAqC;EACrC,kCAAkC,EAAE,sBAAsB;AAC5D;;AAEA,yBAAyB;AACzB;EACE;IACE,UAAU,EAAE,sBAAsB;EACpC;EACA;IACE,MAAM,EAAE,oBAAoB;EAC9B;AACF\",\"sourcesContent\":[\".demo-text {\\r\\n transition: all 0.3s ease-in-out;\\r\\n}\\r\\n\\r\\n.sticky {\\r\\n position: fixed;\\r\\n top: -50px; /* Start slightly off-screen for animation */\\r\\n width: 100%;\\r\\n z-index: 9;\\r\\n background-color: #333;\\r\\n color: white;\\r\\n /* box-shadow: 0 4px 2px -2px gray; */\\r\\n animation: slideDown 0.3s forwards; /* Use CSS animation */\\r\\n}\\r\\n\\r\\n/* Slide down animation */\\r\\n@keyframes slideDown {\\r\\n from {\\r\\n top: -50px; /* Start out of view */\\r\\n }\\r\\n to {\\r\\n top: 0; /* Slide into view */\\r\\n }\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"span.prodcut-thumbnail {\\r\\n width: 50px;\\r\\n display: inline-block;\\r\\n}\\r\\n.product-price small {\\r\\n text-decoration: line-through;\\r\\n}\\r\\n\\r\\n.coupon-code code {\\r\\n border: 1.5px dashed var(--gray-dark);\\r\\n padding: 5px;\\r\\n font-size: 80%;\\r\\n}\\r\\n#termsCheckbox {\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n}\\r\\n/* .list-group-item {\\r\\n cursor: pointer;\\r\\n} */\\r\\n\\r\\n:host::ng-deep .custom-message p {\\r\\n margin-bottom: 0;\\r\\n color: var(--dark);\\r\\n font-size: 90%;\\r\\n}\\r\\n\\r\\n:host::ng-deep .custom-message a {\\r\\n color: var(--dark);\\r\\n text-decoration: underline;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/e-commerce/cart/cart.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,WAAW;EACX,qBAAqB;AACvB;AACA;EACE,6BAA6B;AAC/B;;AAEA;EACE,qCAAqC;EACrC,YAAY;EACZ,cAAc;AAChB;AACA;EACE,WAAW;EACX,YAAY;AACd;AACA;;GAEG;;AAEH;EACE,gBAAgB;EAChB,kBAAkB;EAClB,cAAc;AAChB;;AAEA;EACE,kBAAkB;EAClB,0BAA0B;AAC5B\",\"sourcesContent\":[\"span.prodcut-thumbnail {\\r\\n width: 50px;\\r\\n display: inline-block;\\r\\n}\\r\\n.product-price small {\\r\\n text-decoration: line-through;\\r\\n}\\r\\n\\r\\n.coupon-code code {\\r\\n border: 1.5px dashed var(--gray-dark);\\r\\n padding: 5px;\\r\\n font-size: 80%;\\r\\n}\\r\\n#termsCheckbox {\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n}\\r\\n/* .list-group-item {\\r\\n cursor: pointer;\\r\\n} */\\r\\n\\r\\n:host::ng-deep .custom-message p {\\r\\n margin-bottom: 0;\\r\\n color: var(--dark);\\r\\n font-size: 90%;\\r\\n}\\r\\n\\r\\n:host::ng-deep .custom-message a {\\r\\n color: var(--dark);\\r\\n text-decoration: underline;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".catalog-image img {\\r\\n max-height: 300px;\\r\\n object-fit: contain;\\r\\n}\\r\\n\\r\\n.mat-expansion-panel:not([class*=\\\"mat-elevation-z\\\"]) {\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-expansion-panel-content {\\r\\n font-family: inherit;\\r\\n letter-spacing: inherit;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-expansion-panel-body {\\r\\n padding: 0 !important;\\r\\n}\\r\\n::ng-deep .rating {\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n::ng-deep .star-container {\\r\\n margin: 0;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/e-commerce/designer-catalog/catalog-detail/catalog-detail.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,iBAAiB;EACjB,mBAAmB;AACrB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,uBAAuB;AACzB;;AAEA;EACE,qBAAqB;AACvB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,SAAS;AACX\",\"sourcesContent\":[\".catalog-image img {\\r\\n max-height: 300px;\\r\\n object-fit: contain;\\r\\n}\\r\\n\\r\\n.mat-expansion-panel:not([class*=\\\"mat-elevation-z\\\"]) {\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-expansion-panel-content {\\r\\n font-family: inherit;\\r\\n letter-spacing: inherit;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-expansion-panel-body {\\r\\n padding: 0 !important;\\r\\n}\\r\\n::ng-deep .rating {\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n::ng-deep .star-container {\\r\\n margin: 0;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".designer-space-type {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n background: rgba(0, 0, 0, 0.7);\\r\\n padding: 5px 10px;\\r\\n font-size: 80%;\\r\\n color: #ddd;\\r\\n border-bottom-right-radius: 5px;\\r\\n max-width: 60%;\\r\\n font-weight: 500;\\r\\n border-top-left-radius: 1.125rem;\\r\\n}\\r\\n.product-image {\\r\\n position: relative;\\r\\n}\\r\\n.designer-liked {\\r\\n position: absolute;\\r\\n bottom: 2%;\\r\\n right: 2%;\\r\\n}\\r\\n\\r\\n.designer-liked mat-icon {\\r\\n color: var(--danger);\\r\\n font-size: 20px;\\r\\n width: auto;\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.designer-like-container {\\r\\n position: absolute;\\r\\n bottom: 5px;\\r\\n right: 5px;\\r\\n left: auto;\\r\\n padding: 3px 5px;\\r\\n font-size: 80%;\\r\\n background: #fff;\\r\\n border-radius: 5px;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/e-commerce/designer-catalog/list/list.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,8BAA8B;EAC9B,iBAAiB;EACjB,cAAc;EACd,WAAW;EACX,+BAA+B;EAC/B,cAAc;EACd,gBAAgB;EAChB,gCAAgC;AAClC;AACA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,UAAU;EACV,SAAS;AACX;;AAEA;EACE,oBAAoB;EACpB,eAAe;EACf,WAAW;EACX,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,UAAU;EACV,UAAU;EACV,gBAAgB;EAChB,cAAc;EACd,gBAAgB;EAChB,kBAAkB;AACpB\",\"sourcesContent\":[\".designer-space-type {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n background: rgba(0, 0, 0, 0.7);\\r\\n padding: 5px 10px;\\r\\n font-size: 80%;\\r\\n color: #ddd;\\r\\n border-bottom-right-radius: 5px;\\r\\n max-width: 60%;\\r\\n font-weight: 500;\\r\\n border-top-left-radius: 1.125rem;\\r\\n}\\r\\n.product-image {\\r\\n position: relative;\\r\\n}\\r\\n.designer-liked {\\r\\n position: absolute;\\r\\n bottom: 2%;\\r\\n right: 2%;\\r\\n}\\r\\n\\r\\n.designer-liked mat-icon {\\r\\n color: var(--danger);\\r\\n font-size: 20px;\\r\\n width: auto;\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.designer-like-container {\\r\\n position: absolute;\\r\\n bottom: 5px;\\r\\n right: 5px;\\r\\n left: auto;\\r\\n padding: 3px 5px;\\r\\n font-size: 80%;\\r\\n background: #fff;\\r\\n border-radius: 5px;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".promotional-banner a {\\r\\n position: relative;\\r\\n}\\r\\n.promotion-shadow {\\r\\n position: absolute;\\r\\n /* background: rgba(0, 0, 0, 0.4); */\\r\\n background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.banner-text {\\r\\n position: absolute;\\r\\n bottom: 10%;\\r\\n z-index: 1;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/e-commerce/home/home.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,oCAAoC;EACpC,+EAA+E;EAC/E,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,UAAU;AACZ\",\"sourcesContent\":[\".promotional-banner a {\\r\\n position: relative;\\r\\n}\\r\\n.promotion-shadow {\\r\\n position: absolute;\\r\\n /* background: rgba(0, 0, 0, 0.4); */\\r\\n background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.banner-text {\\r\\n position: absolute;\\r\\n bottom: 10%;\\r\\n z-index: 1;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".faq-nav {\\r\\n flex-direction: column;\\r\\n margin: 0 0 32px;\\r\\n border-radius: 2px;\\r\\n border: 1px solid #ddd;\\r\\n box-shadow: 0 1px 5px rgba(85, 85, 85, 0.15);\\r\\n }\\r\\n .faq-nav .nav-link {\\r\\n position: relative;\\r\\n display: block;\\r\\n margin: 0;\\r\\n padding: 13px 16px;\\r\\n background-color: #fff;\\r\\n border: 0;\\r\\n border-bottom: 1px solid #ddd;\\r\\n border-radius: 0;\\r\\n color: #616161;\\r\\n transition: background-color .2s ease;\\r\\n }\\r\\n .faq-nav .nav-link:hover {\\r\\n background-color: #f6f6f6;\\r\\n }\\r\\n .faq-nav .nav-link.active {\\r\\n background-color: #f6f6f6;\\r\\n font-weight: 700;\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n }\\r\\n .faq-nav .nav-link:last-of-type {\\r\\n border-bottom-left-radius: 2px;\\r\\n border-bottom-right-radius: 2px;\\r\\n border-bottom: 0;\\r\\n }\\r\\n .faq-nav .nav-link i.mdi {\\r\\n margin-right: 5px;\\r\\n font-size: 18px;\\r\\n position: relative;\\r\\n }\\r\\n\\r\\n /* .tab-content {\\r\\n box-shadow: 0 1px 5px rgba(85, 85, 85, 0.15);\\r\\n } */\\r\\n .tab-content .card {\\r\\n border-radius: .25rem;\\r\\n\\r\\n }\\r\\n .tab-content .card-header {\\r\\n padding: 15px 16px;\\r\\n border-radius: 0;\\r\\n background-color: #f6f6f6;\\r\\n margin-bottom: 0 ;\\r\\n }\\r\\n .tab-content .card-header h5 {\\r\\n margin: 0;\\r\\n }\\r\\n .tab-content .card-header h5 button {\\r\\n display: block;\\r\\n width: 100%;\\r\\n padding: 0;\\r\\n border: 0;\\r\\n font-weight: 700;\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n text-align: left;\\r\\n white-space: normal;\\r\\n }\\r\\n .tab-content .card-header h5 button:hover, .tab-content .card-header h5 button:focus, .tab-content .card-header h5 button:active, .tab-content .card-header h5 button:hover:active {\\r\\n text-decoration: none;\\r\\n }\\r\\n .tab-content .card-body p {\\r\\n color: #616161;\\r\\n }\\r\\n .tab-content .card-body p:last-of-type {\\r\\n margin: 0;\\r\\n }\\r\\n\\r\\n /* .accordion > .card:not(:first-child) {\\r\\n border-top: 0;\\r\\n } */\\r\\n\\r\\n .collapse.show .card-body {\\r\\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\\r\\n }\\r\\n\\r\\n #faq-tab-content .card-header .btn:after {\\r\\n content: \\\"\\\\f107\\\";\\r\\n font-family: 'Line Awesome Free';\\r\\n font-weight: 900;\\r\\n float: right;\\r\\n }\\r\\n #faq-tab-content .card-header .btn.collapsed:after {\\r\\n content: \\\"\\\\f106\\\";\\r\\n }\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/e-commerce/pages/faq/faq.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IACtB,4CAA4C;EAC9C;EACA;IACE,kBAAkB;IAClB,cAAc;IACd,SAAS;IACT,kBAAkB;IAClB,sBAAsB;IACtB,SAAS;IACT,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,qCAAqC;EACvC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;IACzB,gBAAgB;IAChB,0BAA0B;EAC5B;EACA;IACE,8BAA8B;IAC9B,+BAA+B;IAC/B,gBAAgB;EAClB;EACA;IACE,iBAAiB;IACjB,eAAe;IACf,kBAAkB;EACpB;;EAEA;;KAEG;EACH;IACE,qBAAqB;;EAEvB;EACA;IACE,kBAAkB;IAClB,gBAAgB;IAChB,yBAAyB;IACzB,iBAAiB;EACnB;EACA;IACE,SAAS;EACX;EACA;IACE,cAAc;IACd,WAAW;IACX,UAAU;IACV,SAAS;IACT,gBAAgB;IAChB,0BAA0B;IAC1B,gBAAgB;IAChB,mBAAmB;EACrB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,cAAc;EAChB;EACA;IACE,SAAS;EACX;;EAEA;;KAEG;;EAEH;IACE,6CAA6C;EAC/C;;EAEA;IACE,gBAAgB;IAChB,gCAAgC;IAChC,gBAAgB;IAChB,YAAY;EACd;EACA;IACE,gBAAgB;EAClB\",\"sourcesContent\":[\".faq-nav {\\r\\n flex-direction: column;\\r\\n margin: 0 0 32px;\\r\\n border-radius: 2px;\\r\\n border: 1px solid #ddd;\\r\\n box-shadow: 0 1px 5px rgba(85, 85, 85, 0.15);\\r\\n }\\r\\n .faq-nav .nav-link {\\r\\n position: relative;\\r\\n display: block;\\r\\n margin: 0;\\r\\n padding: 13px 16px;\\r\\n background-color: #fff;\\r\\n border: 0;\\r\\n border-bottom: 1px solid #ddd;\\r\\n border-radius: 0;\\r\\n color: #616161;\\r\\n transition: background-color .2s ease;\\r\\n }\\r\\n .faq-nav .nav-link:hover {\\r\\n background-color: #f6f6f6;\\r\\n }\\r\\n .faq-nav .nav-link.active {\\r\\n background-color: #f6f6f6;\\r\\n font-weight: 700;\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n }\\r\\n .faq-nav .nav-link:last-of-type {\\r\\n border-bottom-left-radius: 2px;\\r\\n border-bottom-right-radius: 2px;\\r\\n border-bottom: 0;\\r\\n }\\r\\n .faq-nav .nav-link i.mdi {\\r\\n margin-right: 5px;\\r\\n font-size: 18px;\\r\\n position: relative;\\r\\n }\\r\\n\\r\\n /* .tab-content {\\r\\n box-shadow: 0 1px 5px rgba(85, 85, 85, 0.15);\\r\\n } */\\r\\n .tab-content .card {\\r\\n border-radius: .25rem;\\r\\n\\r\\n }\\r\\n .tab-content .card-header {\\r\\n padding: 15px 16px;\\r\\n border-radius: 0;\\r\\n background-color: #f6f6f6;\\r\\n margin-bottom: 0 ;\\r\\n }\\r\\n .tab-content .card-header h5 {\\r\\n margin: 0;\\r\\n }\\r\\n .tab-content .card-header h5 button {\\r\\n display: block;\\r\\n width: 100%;\\r\\n padding: 0;\\r\\n border: 0;\\r\\n font-weight: 700;\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n text-align: left;\\r\\n white-space: normal;\\r\\n }\\r\\n .tab-content .card-header h5 button:hover, .tab-content .card-header h5 button:focus, .tab-content .card-header h5 button:active, .tab-content .card-header h5 button:hover:active {\\r\\n text-decoration: none;\\r\\n }\\r\\n .tab-content .card-body p {\\r\\n color: #616161;\\r\\n }\\r\\n .tab-content .card-body p:last-of-type {\\r\\n margin: 0;\\r\\n }\\r\\n\\r\\n /* .accordion > .card:not(:first-child) {\\r\\n border-top: 0;\\r\\n } */\\r\\n\\r\\n .collapse.show .card-body {\\r\\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\\r\\n }\\r\\n\\r\\n #faq-tab-content .card-header .btn:after {\\r\\n content: \\\"\\\\f107\\\";\\r\\n font-family: 'Line Awesome Free';\\r\\n font-weight: 900;\\r\\n float: right;\\r\\n }\\r\\n #faq-tab-content .card-header .btn.collapsed:after {\\r\\n content: \\\"\\\\f106\\\";\\r\\n }\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".extra-icon {\\r\\n width: 25px;\\r\\n height: 20px;\\r\\n display: inline-block;\\r\\n background-repeat: no-repeat;\\r\\n background-color: var(--light);\\r\\n}\\r\\n\\r\\n.ic_brand {\\r\\n mask: url('ic_brand.svg');\\r\\n -webkit-mask: url('ic_brand.svg');\\r\\n -webkit-mask-size: contain;\\r\\n mask-size: contain;\\r\\n -webkit-mask-repeat: no-repeat;\\r\\n mask-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.ic_warranty {\\r\\n mask: url('ic_warranty.svg');\\r\\n -webkit-mask: url('ic_warranty.svg');\\r\\n -webkit-mask-size: contain;\\r\\n mask-size: contain;\\r\\n -webkit-mask-repeat: no-repeat;\\r\\n mask-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.ic_return_policy {\\r\\n mask: url('ic_return_policy.svg');\\r\\n -webkit-mask: url('ic_return_policy.svg');\\r\\n -webkit-mask-size: contain;\\r\\n mask-size: contain;\\r\\n -webkit-mask-repeat: no-repeat;\\r\\n mask-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.ic_manufacture {\\r\\n mask: url('ic_return_policy.svg');\\r\\n -webkit-mask: url('ic_manufacture.svg');\\r\\n -webkit-mask-size: contain;\\r\\n mask-size: contain;\\r\\n -webkit-mask-repeat: no-repeat;\\r\\n mask-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.ic_handle {\\r\\n mask: url('ic_handle.svg');\\r\\n -webkit-mask: url('ic_handle.svg');\\r\\n -webkit-mask-size: contain;\\r\\n mask-size: contain;\\r\\n -webkit-mask-repeat: no-repeat;\\r\\n mask-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n::ng-deep .ngx-gallery-image-wrapper {\\r\\n border: 1px solid #ddd;\\r\\n}\\r\\n\\r\\n::ng-deep .ngx-gallery-icon {\\r\\n background: var(--primary);\\r\\n color: #000 !important;\\r\\n border-radius: 50%;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n text-align: center;\\r\\n display: flex !important;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n font-size: unset !important;\\r\\n}\\r\\n\\r\\n::ng-deep .ngx-gallery-image.ngx-gallery-active {\\r\\n z-index: auto !important;\\r\\n}\\r\\n\\r\\n::ng-deep .ngx-gallery-arrow-wrapper {\\r\\n z-index: 1 !important;\\r\\n}\\r\\n\\r\\n::ng-deep .ngx-gallery-thumbnails .ngx-gallery-thumbnail {\\r\\n border: 1px solid #ddd;\\r\\n}\\r\\n\\r\\n.attachment-images-container .image-new {\\r\\n min-height: 100px;\\r\\n border: 2px solid var(--gray);\\r\\n margin-bottom: 15px;\\r\\n cursor: pointer;\\r\\n position: relative;\\r\\n padding: 0.5rem;\\r\\n border-radius: 10px;\\r\\n}\\r\\n.attachment-images-container label.image-new .mat-icon {\\r\\n color: var(--gray);\\r\\n}\\r\\n\\r\\n.attachment-images-container .image-new .remove-secondary-image {\\r\\n opacity: 0;\\r\\n visibility: hidden;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n background: rgba(0, 0, 0, 0.5);\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n text-align: center;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.attachment-images-container .image-new:hover .remove-secondary-image {\\r\\n opacity: 1;\\r\\n visibility: visible;\\r\\n}\\r\\n.rotate-btn {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n z-index: 10;\\r\\n}\\r\\n.ar-view-btn {\\r\\n outline: none;\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n/* For larger screens */\\r\\n.desktop-modal .mat-dialog-container {\\r\\n width: 80vw;\\r\\n height: 60vh;\\r\\n max-width: 100vw;\\r\\n max-height: 100vh;\\r\\n border-radius: 10px; /* Optional for better design */\\r\\n}\\r\\n\\r\\n/* For smaller screens */\\r\\n.mobile-modal .mat-dialog-container {\\r\\n width: 95vw;\\r\\n height: 90vh;\\r\\n max-width: 100vw;\\r\\n max-height: 100vh;\\r\\n border-radius: 10px; /* Optional for better design */\\r\\n overflow: hidden; /* Prevent scrolling issues */\\r\\n}\\r\\n\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/e-commerce/product-detail/product-detail.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,WAAW;EACX,YAAY;EACZ,qBAAqB;EACrB,4BAA4B;EAC5B,8BAA8B;AAChC;;AAEA;EACE,yBAAuD;EACvD,iCAA+D;EAC/D,0BAAkB;UAAlB,kBAAkB;EAClB,8BAAsB;UAAtB,sBAAsB;AACxB;;AAEA;EACE,4BAA0D;EAC1D,oCAAkE;EAClE,0BAAkB;UAAlB,kBAAkB;EAClB,8BAAsB;UAAtB,sBAAsB;AACxB;;AAEA;EACE,iCAA+D;EAC/D,yCAAuE;EACvE,0BAAkB;UAAlB,kBAAkB;EAClB,8BAAsB;UAAtB,sBAAsB;AACxB;;AAEA;EACE,iCAA+D;EAC/D,uCAAqE;EACrE,0BAAkB;UAAlB,kBAAkB;EAClB,8BAAsB;UAAtB,sBAAsB;AACxB;;AAEA;EACE,0BAAwD;EACxD,kCAAgE;EAChE,0BAAkB;UAAlB,kBAAkB;EAClB,8BAAsB;UAAtB,sBAAsB;AACxB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,0BAA0B;EAC1B,sBAAsB;EACtB,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,wBAAwB;EACxB,uBAAuB;EACvB,mBAAmB;EACnB,2BAA2B;AAC7B;;AAEA;EACE,wBAAwB;AAC1B;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,iBAAiB;EACjB,6BAA6B;EAC7B,mBAAmB;EACnB,eAAe;EACf,kBAAkB;EAClB,eAAe;EACf,mBAAmB;AACrB;AACA;EACE,kBAAkB;AACpB;;AAEA;EACE,UAAU;EACV,kBAAkB;EAClB,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,8BAA8B;EAC9B,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,UAAU;EACV,mBAAmB;AACrB;AACA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;AACb;AACA;EACE,aAAa;EACb,gBAAgB;AAClB;;AAEA,uBAAuB;AACvB;EACE,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,iBAAiB;EACjB,mBAAmB,EAAE,+BAA+B;AACtD;;AAEA,wBAAwB;AACxB;EACE,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,iBAAiB;EACjB,mBAAmB,EAAE,+BAA+B;EACpD,gBAAgB,EAAE,6BAA6B;AACjD\",\"sourcesContent\":[\".extra-icon {\\r\\n width: 25px;\\r\\n height: 20px;\\r\\n display: inline-block;\\r\\n background-repeat: no-repeat;\\r\\n background-color: var(--light);\\r\\n}\\r\\n\\r\\n.ic_brand {\\r\\n mask: url(\\\"../../../assets/images/assets/ic_brand.svg\\\");\\r\\n -webkit-mask: url(\\\"../../../assets/images/assets/ic_brand.svg\\\");\\r\\n mask-size: contain;\\r\\n mask-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.ic_warranty {\\r\\n mask: url(\\\"../../../assets/images/assets/ic_warranty.svg\\\");\\r\\n -webkit-mask: url(\\\"../../../assets/images/assets/ic_warranty.svg\\\");\\r\\n mask-size: contain;\\r\\n mask-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.ic_return_policy {\\r\\n mask: url(\\\"../../../assets/images/assets/ic_return_policy.svg\\\");\\r\\n -webkit-mask: url(\\\"../../../assets/images/assets/ic_return_policy.svg\\\");\\r\\n mask-size: contain;\\r\\n mask-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.ic_manufacture {\\r\\n mask: url(\\\"../../../assets/images/assets/ic_return_policy.svg\\\");\\r\\n -webkit-mask: url(\\\"../../../assets/images/assets/ic_manufacture.svg\\\");\\r\\n mask-size: contain;\\r\\n mask-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.ic_handle {\\r\\n mask: url(\\\"../../../assets/images/assets/ic_handle.svg\\\");\\r\\n -webkit-mask: url(\\\"../../../assets/images/assets/ic_handle.svg\\\");\\r\\n mask-size: contain;\\r\\n mask-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n::ng-deep .ngx-gallery-image-wrapper {\\r\\n border: 1px solid #ddd;\\r\\n}\\r\\n\\r\\n::ng-deep .ngx-gallery-icon {\\r\\n background: var(--primary);\\r\\n color: #000 !important;\\r\\n border-radius: 50%;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n text-align: center;\\r\\n display: flex !important;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n font-size: unset !important;\\r\\n}\\r\\n\\r\\n::ng-deep .ngx-gallery-image.ngx-gallery-active {\\r\\n z-index: auto !important;\\r\\n}\\r\\n\\r\\n::ng-deep .ngx-gallery-arrow-wrapper {\\r\\n z-index: 1 !important;\\r\\n}\\r\\n\\r\\n::ng-deep .ngx-gallery-thumbnails .ngx-gallery-thumbnail {\\r\\n border: 1px solid #ddd;\\r\\n}\\r\\n\\r\\n.attachment-images-container .image-new {\\r\\n min-height: 100px;\\r\\n border: 2px solid var(--gray);\\r\\n margin-bottom: 15px;\\r\\n cursor: pointer;\\r\\n position: relative;\\r\\n padding: 0.5rem;\\r\\n border-radius: 10px;\\r\\n}\\r\\n.attachment-images-container label.image-new .mat-icon {\\r\\n color: var(--gray);\\r\\n}\\r\\n\\r\\n.attachment-images-container .image-new .remove-secondary-image {\\r\\n opacity: 0;\\r\\n visibility: hidden;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n background: rgba(0, 0, 0, 0.5);\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n text-align: center;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.attachment-images-container .image-new:hover .remove-secondary-image {\\r\\n opacity: 1;\\r\\n visibility: visible;\\r\\n}\\r\\n.rotate-btn {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n z-index: 10;\\r\\n}\\r\\n.ar-view-btn {\\r\\n outline: none;\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n/* For larger screens */\\r\\n.desktop-modal .mat-dialog-container {\\r\\n width: 80vw;\\r\\n height: 60vh;\\r\\n max-width: 100vw;\\r\\n max-height: 100vh;\\r\\n border-radius: 10px; /* Optional for better design */\\r\\n}\\r\\n\\r\\n/* For smaller screens */\\r\\n.mobile-modal .mat-dialog-container {\\r\\n width: 95vw;\\r\\n height: 90vh;\\r\\n max-width: 100vw;\\r\\n max-height: 100vh;\\r\\n border-radius: 10px; /* Optional for better design */\\r\\n overflow: hidden; /* Prevent scrolling issues */\\r\\n}\\r\\n\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"model-viewer {\\r\\n position: relative;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 768px) {\\r\\n .action-buttons {\\r\\n display: none;\\r\\n }\\r\\n}\\r\\n\\r\\n.guideline-btn {\\r\\n position: fixed;\\r\\n bottom: 20px;\\r\\n right: 20px;\\r\\n z-index: 1000;\\r\\n}\\r\\n\\r\\n.guideline-modal {\\r\\n position: fixed;\\r\\n top: 15px;\\r\\n left: 15px;\\r\\n width: 97%;\\r\\n height: 95%;\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n z-index: 1001;\\r\\n color: white;\\r\\n}\\r\\n\\r\\n.guideline-content {\\r\\n background-color: rgba(0, 0, 0, 0.85);\\r\\n padding: 20px;\\r\\n max-width: 400px;\\r\\n width: 90%;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.guideline-content h4 {\\r\\n margin-left: 48px;\\r\\n}\\r\\n\\r\\n.guideline-content ul {\\r\\n list-style-type: none;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.guideline-content li {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.guideline-content mat-icon {\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.exit-btn {\\r\\n display: block;\\r\\n width: 100%;\\r\\n padding: 10px;\\r\\n border-radius: 5px;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n text-align: center;\\r\\n margin-top: 20px;\\r\\n}\\r\\n.guideline-modal.active {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n#qr-code {\\r\\n height: 250px !important;\\r\\n width: 250px !important;\\r\\n}\\r\\n\\r\\n#arViewModel .modal-dialog {\\r\\n max-width: 300px;\\r\\n}\\r\\n\\r\\n.model-close-btn {\\r\\n top: 0;\\r\\n right: 0;\\r\\n background: none;\\r\\n box-shadow: none;\\r\\n outline: none;\\r\\n}\\r\\n.model-close-btn {\\r\\n outline: none;\\r\\n border: none;\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n.model-close-btn:focus {\\r\\n outline: none;\\r\\n box-shadow: none;\\r\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/e-commerce/product-view/product-view.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAkB;EAClB,YAAY;EACZ,WAAW;AACb;;AAEA;EACE;IACE,aAAa;EACf;AACF;;AAEA;EACE,eAAe;EACf,YAAY;EACZ,WAAW;EACX,aAAa;AACf;;AAEA;EACE,eAAe;EACf,SAAS;EACT,UAAU;EACV,UAAU;EACV,WAAW;EACX,aAAa;EACb,yBAAyB;EACzB,aAAa;EACb,YAAY;AACd;;AAEA;EACE,qCAAqC;EACrC,aAAa;EACb,gBAAgB;EAChB,UAAU;EACV,kBAAkB;AACpB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,qBAAqB;EACrB,UAAU;AACZ;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;AACrB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,cAAc;EACd,WAAW;EACX,aAAa;EACb,kBAAkB;EAClB,eAAe;EACf,eAAe;EACf,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,aAAa;AACf;;AAEA;EACE,wBAAwB;EACxB,uBAAuB;AACzB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,MAAM;EACN,QAAQ;EACR,gBAAgB;EAChB,gBAAgB;EAChB,aAAa;AACf;AACA;EACE,aAAa;EACb,YAAY;EACZ,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,gBAAgB;AAClB\",\"sourcesContent\":[\"model-viewer {\\r\\n position: relative;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 768px) {\\r\\n .action-buttons {\\r\\n display: none;\\r\\n }\\r\\n}\\r\\n\\r\\n.guideline-btn {\\r\\n position: fixed;\\r\\n bottom: 20px;\\r\\n right: 20px;\\r\\n z-index: 1000;\\r\\n}\\r\\n\\r\\n.guideline-modal {\\r\\n position: fixed;\\r\\n top: 15px;\\r\\n left: 15px;\\r\\n width: 97%;\\r\\n height: 95%;\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n z-index: 1001;\\r\\n color: white;\\r\\n}\\r\\n\\r\\n.guideline-content {\\r\\n background-color: rgba(0, 0, 0, 0.85);\\r\\n padding: 20px;\\r\\n max-width: 400px;\\r\\n width: 90%;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.guideline-content h4 {\\r\\n margin-left: 48px;\\r\\n}\\r\\n\\r\\n.guideline-content ul {\\r\\n list-style-type: none;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.guideline-content li {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.guideline-content mat-icon {\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.exit-btn {\\r\\n display: block;\\r\\n width: 100%;\\r\\n padding: 10px;\\r\\n border-radius: 5px;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n text-align: center;\\r\\n margin-top: 20px;\\r\\n}\\r\\n.guideline-modal.active {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n#qr-code {\\r\\n height: 250px !important;\\r\\n width: 250px !important;\\r\\n}\\r\\n\\r\\n#arViewModel .modal-dialog {\\r\\n max-width: 300px;\\r\\n}\\r\\n\\r\\n.model-close-btn {\\r\\n top: 0;\\r\\n right: 0;\\r\\n background: none;\\r\\n box-shadow: none;\\r\\n outline: none;\\r\\n}\\r\\n.model-close-btn {\\r\\n outline: none;\\r\\n border: none;\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n.model-close-btn:focus {\\r\\n outline: none;\\r\\n box-shadow: none;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* Container for both bubble and chat window */\\r\\n.chatbot-container {\\r\\n position: fixed;\\r\\n bottom: 20px;\\r\\n right: 20px;\\r\\n z-index: 1000;\\r\\n}\\r\\n\\r\\n.chatbot-container .card-header {\\r\\n background-color: var(--primary);\\r\\n}\\r\\n\\r\\n/* Floating chat bubble */\\r\\n.chat-bubble {\\r\\n background-color: var(--primary);\\r\\n width: 60px;\\r\\n height: 60px;\\r\\n border-radius: 50%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n color: white;\\r\\n font-size: 24px;\\r\\n cursor: pointer;\\r\\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\\r\\n transition: transform 0.3s ease-in-out;\\r\\n}\\r\\n\\r\\n.chat-bubble:hover {\\r\\n transform: scale(1.1);\\r\\n}\\r\\n\\r\\n/* Hide the chat bubble when chat is open */\\r\\n.chat-bubble.hide {\\r\\n opacity: 0;\\r\\n visibility: hidden;\\r\\n transform: scale(0.7);\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n/* Chat window */\\r\\n.chat-window {\\r\\n background-color: white;\\r\\n border-radius: 10px;\\r\\n /* width: 300px;\\r\\n height: 400px; */\\r\\n position: fixed;\\r\\n bottom: 80px;\\r\\n right: 20px;\\r\\n z-index: 1001;\\r\\n overflow: hidden;\\r\\n opacity: 0;\\r\\n visibility: hidden;\\r\\n /* transform: translateY(100px);\\r\\n transition: all 0.3s ease-in-out; */\\r\\n transform: translateY(100px) scale(0.7);\\r\\n transition: all 0.3s ease-in-out;\\r\\n}\\r\\n\\r\\n.chat-window.open {\\r\\n opacity: 1;\\r\\n visibility: visible;\\r\\n /* transform: translateY(0); */\\r\\n transform: translateY(0) scale(1);\\r\\n}\\r\\n\\r\\n/* Close state of chat */\\r\\n.chat-container.close {\\r\\n opacity: 0;\\r\\n visibility: hidden;\\r\\n transform: translateY(100px) scale(0.7);\\r\\n}\\r\\n\\r\\n/* Chat body */\\r\\n/* .chat-body {\\r\\n flex: 1;\\r\\n padding: 10px;\\r\\n overflow-y: auto;\\r\\n background-color: #f7f7f7;\\r\\n}\\r\\n\\r\\n.chat-message {\\r\\n margin: 5px 0;\\r\\n}\\r\\n\\r\\n.chat-message.User {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.chat-message.Bot {\\r\\n text-align: left;\\r\\n} */\\r\\n\\r\\n/* Responsive media queries */\\r\\n@media (max-width: 600px) {\\r\\n .chat-window {\\r\\n width: 100%;\\r\\n height: 50%;\\r\\n bottom: 20px;\\r\\n right: 20px;\\r\\n z-index: 1000;\\r\\n }\\r\\n\\r\\n /* Floating chat bubble */\\r\\n .chat-bubble {\\r\\n background-color: #f28d22;\\r\\n width: 60px;\\r\\n height: 60px;\\r\\n border-radius: 50%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n color: white;\\r\\n font-size: 24px;\\r\\n cursor: pointer;\\r\\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\\r\\n transition: transform 0.3s ease-in-out;\\r\\n }\\r\\n\\r\\n .chat-bubble:hover {\\r\\n transform: scale(1.1);\\r\\n }\\r\\n\\r\\n .chat-window {\\r\\n background-color: white;\\r\\n border-radius: 10px;\\r\\n width: 300px;\\r\\n height: 450px;\\r\\n position: fixed;\\r\\n bottom: 0px;\\r\\n right: 0px;\\r\\n z-index: 1001;\\r\\n overflow: hidden;\\r\\n opacity: 0;\\r\\n visibility: hidden;\\r\\n transform: translateY(100px);\\r\\n transition: all 0.3s ease-in-out;\\r\\n }\\r\\n}\\r\\n\\r\\n.chat-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n height: 70vh;\\r\\n width: 415px;\\r\\n max-width: 100%; \\r\\n margin: 0 auto;\\r\\n border-radius: 12px;\\r\\n overflow: hidden;\\r\\n box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);\\r\\n background: #fff;\\r\\n}\\r\\n\\r\\n.message-container {\\r\\n flex: 1;\\r\\n padding: 20px;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n background: #f9f9f9;\\r\\n border-bottom: 1px solid #ddd;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n gap: 10px;\\r\\n}\\r\\n\\r\\n.input-container {\\r\\n display: flex;\\r\\n border-top: 1px solid #ddd;\\r\\n background: #fff;\\r\\n}\\r\\n\\r\\n.input-container input[type=\\\"text\\\"] {\\r\\n flex: 1;\\r\\n padding: 12px;\\r\\n border: none;\\r\\n border-radius: 0 0 0 8px;\\r\\n outline: none;\\r\\n font-size: 16px;\\r\\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n.input-container button {\\r\\n padding: 12px;\\r\\n border: none;\\r\\n border-radius: 0 0 8px 0;\\r\\n background-color: var(--primary);\\r\\n color: white;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n transition: background-color 0.3s;\\r\\n}\\r\\n\\r\\n.input-container button:hover {\\r\\n background-color: #f28d22;\\r\\n}\\r\\n\\r\\n.message {\\r\\n margin-bottom: 10px;\\r\\n padding: 12px;\\r\\n border-radius: 12px;\\r\\n max-width: 75%;\\r\\n display: inline-block;\\r\\n position: relative;\\r\\n word-wrap: break-word;\\r\\n line-height: 1.4;\\r\\n}\\r\\n\\r\\n.message.user {\\r\\n background-color: var(--primary);\\r\\n color: white;\\r\\n align-self: flex-end;\\r\\n border-top-left-radius: 0;\\r\\n}\\r\\n\\r\\n.message.audio-image {\\r\\n background-color: transparent;\\r\\n color: white;\\r\\n align-self: flex-end;\\r\\n border-top-left-radius: 0;\\r\\n}\\r\\n\\r\\n.message.ai {\\r\\n /* background-color: #f1f1f1; */\\r\\n color: #333;\\r\\n align-self: flex-start;\\r\\n border-top-right-radius: 0;\\r\\n}\\r\\n\\r\\n.message.fullai {\\r\\n max-width: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.message.fullai span {\\r\\n margin-bottom: 10px;\\r\\n padding: 12px;\\r\\n border-radius: 12px;\\r\\n display: inline-block;\\r\\n position: relative;\\r\\n word-wrap: break-word;\\r\\n line-height: 1.4;\\r\\n background-color: #f1f1f1;\\r\\n color: #333;\\r\\n align-self: flex-start;\\r\\n border-top-right-radius: 0;\\r\\n}\\r\\n\\r\\n.message::before {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n width: 0;\\r\\n height: 0;\\r\\n border: 10px solid transparent;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.message.user::before {\\r\\n right: -10px;\\r\\n border-left-color: #f28d22;\\r\\n border-width: 10px 10px 10px 0;\\r\\n transform: translateY(-50%);\\r\\n}\\r\\n\\r\\n.message.ai::before {\\r\\n left: -10px;\\r\\n border-right-color: #f1f1f1;\\r\\n border-width: 10px 0 10px 10px;\\r\\n transform: translateY(-50%);\\r\\n}\\r\\n\\r\\n.attachment-icon {\\r\\n font-size: 24px;\\r\\n cursor: pointer;\\r\\n color: #6c757d;\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border-radius: 50%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n transition: background-color 0.3s ease, color 0.3s ease;\\r\\n}\\r\\n\\r\\n.attachment-icon:hover {\\r\\n color: #495057;\\r\\n background-color: #e9ecef;\\r\\n}\\r\\n\\r\\n.chat-image {\\r\\n max-width: 100%;\\r\\n max-height: 150px;\\r\\n border-radius: 8px;\\r\\n margin-top: 5px;\\r\\n display: block;\\r\\n}\\r\\n.audio-container {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n gap: 10px;\\r\\n}\\r\\n\\r\\n.microphone-icon {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border-radius: 50%;\\r\\n cursor: pointer;\\r\\n transition: background-color 0.3s, box-shadow 0.3s;\\r\\n margin-right: 4px;\\r\\n}\\r\\n\\r\\n.microphone-icon:hover {\\r\\n color: #f28d22;\\r\\n}\\r\\n\\r\\n.microphone-icon.recording {\\r\\n animation: blinking 1s infinite;\\r\\n background-color: #f28d22;\\r\\n color: white;\\r\\n}\\r\\n\\r\\n@keyframes blinking {\\r\\n 0% {\\r\\n opacity: 1;\\r\\n }\\r\\n 50% {\\r\\n opacity: 0.5;\\r\\n }\\r\\n 100% {\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n\\r\\n.recorded-audio {\\r\\n width: 100px;\\r\\n outline: none;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.attachment-icon {\\r\\n cursor: pointer;\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.attachment-icon:hover {\\r\\n color: #f28d22;\\r\\n}\\r\\n.microphone-icon-screen-card-body {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 100%; /* Adjust height to fill the container properly */\\r\\n}\\r\\n\\r\\n.microphone-content {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.microphone-icon-screen {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n background-color: #f28d22;\\r\\n color: white;\\r\\n border-radius: 50%;\\r\\n cursor: pointer;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.microphone-icon-screen.recording {\\r\\n animation: microphone-glow 2s infinite;\\r\\n}\\r\\n\\r\\n@keyframes microphone-glow {\\r\\n 0% {\\r\\n box-shadow: 0 0 15px rgba(255, 165, 0, 0.4), 0 0 30px rgba(255, 165, 0, 0.2);\\r\\n }\\r\\n 50% {\\r\\n box-shadow: 0 0 20px rgba(255, 165, 0, 0.5), 0 0 40px rgba(255, 165, 0, 0.3);\\r\\n }\\r\\n 100% {\\r\\n box-shadow: 0 0 15px rgba(255, 165, 0, 0.4), 0 0 30px rgba(255, 165, 0, 0.2);\\r\\n }\\r\\n}\\r\\n\\r\\n.wave {\\r\\n position: absolute;\\r\\n width: 120px;\\r\\n height: 120px;\\r\\n background-color: rgba(242, 141, 34, 0.5);\\r\\n border-radius: 50%;\\r\\n animation: wave-animation 1.5s infinite;\\r\\n z-index: -1;\\r\\n}\\r\\n\\r\\n@keyframes wave-animation {\\r\\n 0% {\\r\\n transform: scale(1);\\r\\n opacity: 0.8;\\r\\n }\\r\\n 50% {\\r\\n opacity: 0.4;\\r\\n }\\r\\n 100% {\\r\\n transform: scale(3);\\r\\n opacity: 0;\\r\\n }\\r\\n}\\r\\n\\r\\n.custom-audio-player {\\r\\n display: block;\\r\\n margin: auto;\\r\\n padding-right: 25px;\\r\\n}\\r\\n\\r\\n::ng-deep .owl-carousel .product-image,\\r\\n::ng-deep .owl-carousel .product-image img {\\r\\n min-height: 150px;\\r\\n max-height: 150px;\\r\\n}\\r\\n\\r\\n::ng-deep .owl-carousel .price .old-price {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n::ng-deep .owl-item{\\r\\n padding-left: 2px;\\r\\n}\\r\\n\\r\\n.message-box.text-center {\\r\\n background-color: #ffffff;\\r\\n padding: 20px;\\r\\n border-radius: 12px;\\r\\n /* box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.15); */\\r\\n font-size: 14px;\\r\\n line-height: 1.8;\\r\\n color: #333333;\\r\\n text-align: center;\\r\\n max-width: 300px;\\r\\n margin: 0 auto;\\r\\n}\\r\\n\\r\\n.message-box.text-center span {\\r\\n display: block;\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n\\r\\nbutton.close {\\r\\n outline: none;\\r\\n border: none;\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\nbutton.close:focus {\\r\\n outline: none;\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/e-commerce/template/chat-bot/chat-bot.component.css\"],\"names\":[],\"mappings\":\"AAAA,8CAA8C;AAC9C;EACE,eAAe;EACf,YAAY;EACZ,WAAW;EACX,aAAa;AACf;;AAEA;EACE,gCAAgC;AAClC;;AAEA,yBAAyB;AACzB;EACE,gCAAgC;EAChC,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,YAAY;EACZ,eAAe;EACf,eAAe;EACf,wCAAwC;EACxC,sCAAsC;AACxC;;AAEA;EACE,qBAAqB;AACvB;;AAEA,2CAA2C;AAC3C;EACE,UAAU;EACV,kBAAkB;EAClB,qBAAqB;EACrB,oBAAoB;AACtB;;AAEA,gBAAgB;AAChB;EACE,uBAAuB;EACvB,mBAAmB;EACnB;kBACgB;EAChB,eAAe;EACf,YAAY;EACZ,WAAW;EACX,aAAa;EACb,gBAAgB;EAChB,UAAU;EACV,kBAAkB;EAClB;qCACmC;EACnC,uCAAuC;EACvC,gCAAgC;AAClC;;AAEA;EACE,UAAU;EACV,mBAAmB;EACnB,8BAA8B;EAC9B,iCAAiC;AACnC;;AAEA,wBAAwB;AACxB;EACE,UAAU;EACV,kBAAkB;EAClB,uCAAuC;AACzC;;AAEA,cAAc;AACd;;;;;;;;;;;;;;;;;GAiBG;;AAEH,6BAA6B;AAC7B;EACE;IACE,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,aAAa;EACf;;EAEA,yBAAyB;EACzB;IACE,yBAAyB;IACzB,WAAW;IACX,YAAY;IACZ,kBAAkB;IAClB,aAAa;IACb,uBAAuB;IACvB,mBAAmB;IACnB,YAAY;IACZ,eAAe;IACf,eAAe;IACf,wCAAwC;IACxC,sCAAsC;EACxC;;EAEA;IACE,qBAAqB;EACvB;;EAEA;IACE,uBAAuB;IACvB,mBAAmB;IACnB,YAAY;IACZ,aAAa;IACb,eAAe;IACf,WAAW;IACX,UAAU;IACV,aAAa;IACb,gBAAgB;IAChB,UAAU;IACV,kBAAkB;IAClB,4BAA4B;IAC5B,gCAAgC;EAClC;AACF;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,YAAY;EACZ,YAAY;EACZ,eAAe;EACf,cAAc;EACd,mBAAmB;EACnB,gBAAgB;EAChB,yCAAyC;EACzC,gBAAgB;AAClB;;AAEA;EACE,OAAO;EACP,aAAa;EACb,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,6BAA6B;EAC7B,aAAa;EACb,sBAAsB;EACtB,SAAS;AACX;;AAEA;EACE,aAAa;EACb,0BAA0B;EAC1B,gBAAgB;AAClB;;AAEA;EACE,OAAO;EACP,aAAa;EACb,YAAY;EACZ,wBAAwB;EACxB,aAAa;EACb,eAAe;EACf,8CAA8C;AAChD;;AAEA;EACE,aAAa;EACb,YAAY;EACZ,wBAAwB;EACxB,gCAAgC;EAChC,YAAY;EACZ,eAAe;EACf,eAAe;EACf,iCAAiC;AACnC;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,mBAAmB;EACnB,aAAa;EACb,mBAAmB;EACnB,cAAc;EACd,qBAAqB;EACrB,kBAAkB;EAClB,qBAAqB;EACrB,gBAAgB;AAClB;;AAEA;EACE,gCAAgC;EAChC,YAAY;EACZ,oBAAoB;EACpB,yBAAyB;AAC3B;;AAEA;EACE,6BAA6B;EAC7B,YAAY;EACZ,oBAAoB;EACpB,yBAAyB;AAC3B;;AAEA;EACE,+BAA+B;EAC/B,WAAW;EACX,sBAAsB;EACtB,0BAA0B;AAC5B;;AAEA;EACE,eAAe;EACf,WAAW;AACb;;AAEA;EACE,mBAAmB;EACnB,aAAa;EACb,mBAAmB;EACnB,qBAAqB;EACrB,kBAAkB;EAClB,qBAAqB;EACrB,gBAAgB;EAChB,yBAAyB;EACzB,WAAW;EACX,sBAAsB;EACtB,0BAA0B;AAC5B;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,8BAA8B;EAC9B,UAAU;AACZ;;AAEA;EACE,YAAY;EACZ,0BAA0B;EAC1B,8BAA8B;EAC9B,2BAA2B;AAC7B;;AAEA;EACE,WAAW;EACX,2BAA2B;EAC3B,8BAA8B;EAC9B,2BAA2B;AAC7B;;AAEA;EACE,eAAe;EACf,eAAe;EACf,cAAc;EACd,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,uDAAuD;AACzD;;AAEA;EACE,cAAc;EACd,yBAAyB;AAC3B;;AAEA;EACE,eAAe;EACf,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;EACf,cAAc;AAChB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,SAAS;AACX;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,eAAe;EACf,kDAAkD;EAClD,iBAAiB;AACnB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,+BAA+B;EAC/B,yBAAyB;EACzB,YAAY;AACd;;AAEA;EACE;IACE,UAAU;EACZ;EACA;IACE,YAAY;EACd;EACA;IACE,UAAU;EACZ;AACF;;AAEA;EACE,YAAY;EACZ,aAAa;EACb,iBAAiB;AACnB;;AAEA;EACE,eAAe;EACf,eAAe;AACjB;;AAEA;EACE,cAAc;AAChB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,YAAY,EAAE,iDAAiD;AACjE;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,mBAAmB;EACnB,kBAAkB;AACpB;;AAEA;EACE,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,YAAY;EACZ,aAAa;EACb,yBAAyB;EACzB,YAAY;EACZ,kBAAkB;EAClB,eAAe;EACf,kBAAkB;AACpB;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE;IACE,4EAA4E;EAC9E;EACA;IACE,4EAA4E;EAC9E;EACA;IACE,4EAA4E;EAC9E;AACF;;AAEA;EACE,kBAAkB;EAClB,YAAY;EACZ,aAAa;EACb,yCAAyC;EACzC,kBAAkB;EAClB,uCAAuC;EACvC,WAAW;AACb;;AAEA;EACE;IACE,mBAAmB;IACnB,YAAY;EACd;EACA;IACE,YAAY;EACd;EACA;IACE,mBAAmB;IACnB,UAAU;EACZ;AACF;;AAEA;EACE,cAAc;EACd,YAAY;EACZ,mBAAmB;AACrB;;AAEA;;EAEE,iBAAiB;EACjB,iBAAiB;AACnB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,yBAAyB;EACzB,aAAa;EACb,mBAAmB;EACnB,iDAAiD;EACjD,eAAe;EACf,gBAAgB;EAChB,cAAc;EACd,kBAAkB;EAClB,gBAAgB;EAChB,cAAc;AAChB;;AAEA;EACE,cAAc;EACd,mBAAmB;AACrB;;AAEA;EACE,aAAa;EACb,YAAY;EACZ,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,gBAAgB;AAClB\",\"sourcesContent\":[\"/* Container for both bubble and chat window */\\r\\n.chatbot-container {\\r\\n position: fixed;\\r\\n bottom: 20px;\\r\\n right: 20px;\\r\\n z-index: 1000;\\r\\n}\\r\\n\\r\\n.chatbot-container .card-header {\\r\\n background-color: var(--primary);\\r\\n}\\r\\n\\r\\n/* Floating chat bubble */\\r\\n.chat-bubble {\\r\\n background-color: var(--primary);\\r\\n width: 60px;\\r\\n height: 60px;\\r\\n border-radius: 50%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n color: white;\\r\\n font-size: 24px;\\r\\n cursor: pointer;\\r\\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\\r\\n transition: transform 0.3s ease-in-out;\\r\\n}\\r\\n\\r\\n.chat-bubble:hover {\\r\\n transform: scale(1.1);\\r\\n}\\r\\n\\r\\n/* Hide the chat bubble when chat is open */\\r\\n.chat-bubble.hide {\\r\\n opacity: 0;\\r\\n visibility: hidden;\\r\\n transform: scale(0.7);\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n/* Chat window */\\r\\n.chat-window {\\r\\n background-color: white;\\r\\n border-radius: 10px;\\r\\n /* width: 300px;\\r\\n height: 400px; */\\r\\n position: fixed;\\r\\n bottom: 80px;\\r\\n right: 20px;\\r\\n z-index: 1001;\\r\\n overflow: hidden;\\r\\n opacity: 0;\\r\\n visibility: hidden;\\r\\n /* transform: translateY(100px);\\r\\n transition: all 0.3s ease-in-out; */\\r\\n transform: translateY(100px) scale(0.7);\\r\\n transition: all 0.3s ease-in-out;\\r\\n}\\r\\n\\r\\n.chat-window.open {\\r\\n opacity: 1;\\r\\n visibility: visible;\\r\\n /* transform: translateY(0); */\\r\\n transform: translateY(0) scale(1);\\r\\n}\\r\\n\\r\\n/* Close state of chat */\\r\\n.chat-container.close {\\r\\n opacity: 0;\\r\\n visibility: hidden;\\r\\n transform: translateY(100px) scale(0.7);\\r\\n}\\r\\n\\r\\n/* Chat body */\\r\\n/* .chat-body {\\r\\n flex: 1;\\r\\n padding: 10px;\\r\\n overflow-y: auto;\\r\\n background-color: #f7f7f7;\\r\\n}\\r\\n\\r\\n.chat-message {\\r\\n margin: 5px 0;\\r\\n}\\r\\n\\r\\n.chat-message.User {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.chat-message.Bot {\\r\\n text-align: left;\\r\\n} */\\r\\n\\r\\n/* Responsive media queries */\\r\\n@media (max-width: 600px) {\\r\\n .chat-window {\\r\\n width: 100%;\\r\\n height: 50%;\\r\\n bottom: 20px;\\r\\n right: 20px;\\r\\n z-index: 1000;\\r\\n }\\r\\n\\r\\n /* Floating chat bubble */\\r\\n .chat-bubble {\\r\\n background-color: #f28d22;\\r\\n width: 60px;\\r\\n height: 60px;\\r\\n border-radius: 50%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n color: white;\\r\\n font-size: 24px;\\r\\n cursor: pointer;\\r\\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\\r\\n transition: transform 0.3s ease-in-out;\\r\\n }\\r\\n\\r\\n .chat-bubble:hover {\\r\\n transform: scale(1.1);\\r\\n }\\r\\n\\r\\n .chat-window {\\r\\n background-color: white;\\r\\n border-radius: 10px;\\r\\n width: 300px;\\r\\n height: 450px;\\r\\n position: fixed;\\r\\n bottom: 0px;\\r\\n right: 0px;\\r\\n z-index: 1001;\\r\\n overflow: hidden;\\r\\n opacity: 0;\\r\\n visibility: hidden;\\r\\n transform: translateY(100px);\\r\\n transition: all 0.3s ease-in-out;\\r\\n }\\r\\n}\\r\\n\\r\\n.chat-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n height: 70vh;\\r\\n width: 415px;\\r\\n max-width: 100%; \\r\\n margin: 0 auto;\\r\\n border-radius: 12px;\\r\\n overflow: hidden;\\r\\n box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);\\r\\n background: #fff;\\r\\n}\\r\\n\\r\\n.message-container {\\r\\n flex: 1;\\r\\n padding: 20px;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n background: #f9f9f9;\\r\\n border-bottom: 1px solid #ddd;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n gap: 10px;\\r\\n}\\r\\n\\r\\n.input-container {\\r\\n display: flex;\\r\\n border-top: 1px solid #ddd;\\r\\n background: #fff;\\r\\n}\\r\\n\\r\\n.input-container input[type=\\\"text\\\"] {\\r\\n flex: 1;\\r\\n padding: 12px;\\r\\n border: none;\\r\\n border-radius: 0 0 0 8px;\\r\\n outline: none;\\r\\n font-size: 16px;\\r\\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n.input-container button {\\r\\n padding: 12px;\\r\\n border: none;\\r\\n border-radius: 0 0 8px 0;\\r\\n background-color: var(--primary);\\r\\n color: white;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n transition: background-color 0.3s;\\r\\n}\\r\\n\\r\\n.input-container button:hover {\\r\\n background-color: #f28d22;\\r\\n}\\r\\n\\r\\n.message {\\r\\n margin-bottom: 10px;\\r\\n padding: 12px;\\r\\n border-radius: 12px;\\r\\n max-width: 75%;\\r\\n display: inline-block;\\r\\n position: relative;\\r\\n word-wrap: break-word;\\r\\n line-height: 1.4;\\r\\n}\\r\\n\\r\\n.message.user {\\r\\n background-color: var(--primary);\\r\\n color: white;\\r\\n align-self: flex-end;\\r\\n border-top-left-radius: 0;\\r\\n}\\r\\n\\r\\n.message.audio-image {\\r\\n background-color: transparent;\\r\\n color: white;\\r\\n align-self: flex-end;\\r\\n border-top-left-radius: 0;\\r\\n}\\r\\n\\r\\n.message.ai {\\r\\n /* background-color: #f1f1f1; */\\r\\n color: #333;\\r\\n align-self: flex-start;\\r\\n border-top-right-radius: 0;\\r\\n}\\r\\n\\r\\n.message.fullai {\\r\\n max-width: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.message.fullai span {\\r\\n margin-bottom: 10px;\\r\\n padding: 12px;\\r\\n border-radius: 12px;\\r\\n display: inline-block;\\r\\n position: relative;\\r\\n word-wrap: break-word;\\r\\n line-height: 1.4;\\r\\n background-color: #f1f1f1;\\r\\n color: #333;\\r\\n align-self: flex-start;\\r\\n border-top-right-radius: 0;\\r\\n}\\r\\n\\r\\n.message::before {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n width: 0;\\r\\n height: 0;\\r\\n border: 10px solid transparent;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.message.user::before {\\r\\n right: -10px;\\r\\n border-left-color: #f28d22;\\r\\n border-width: 10px 10px 10px 0;\\r\\n transform: translateY(-50%);\\r\\n}\\r\\n\\r\\n.message.ai::before {\\r\\n left: -10px;\\r\\n border-right-color: #f1f1f1;\\r\\n border-width: 10px 0 10px 10px;\\r\\n transform: translateY(-50%);\\r\\n}\\r\\n\\r\\n.attachment-icon {\\r\\n font-size: 24px;\\r\\n cursor: pointer;\\r\\n color: #6c757d;\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border-radius: 50%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n transition: background-color 0.3s ease, color 0.3s ease;\\r\\n}\\r\\n\\r\\n.attachment-icon:hover {\\r\\n color: #495057;\\r\\n background-color: #e9ecef;\\r\\n}\\r\\n\\r\\n.chat-image {\\r\\n max-width: 100%;\\r\\n max-height: 150px;\\r\\n border-radius: 8px;\\r\\n margin-top: 5px;\\r\\n display: block;\\r\\n}\\r\\n.audio-container {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n gap: 10px;\\r\\n}\\r\\n\\r\\n.microphone-icon {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border-radius: 50%;\\r\\n cursor: pointer;\\r\\n transition: background-color 0.3s, box-shadow 0.3s;\\r\\n margin-right: 4px;\\r\\n}\\r\\n\\r\\n.microphone-icon:hover {\\r\\n color: #f28d22;\\r\\n}\\r\\n\\r\\n.microphone-icon.recording {\\r\\n animation: blinking 1s infinite;\\r\\n background-color: #f28d22;\\r\\n color: white;\\r\\n}\\r\\n\\r\\n@keyframes blinking {\\r\\n 0% {\\r\\n opacity: 1;\\r\\n }\\r\\n 50% {\\r\\n opacity: 0.5;\\r\\n }\\r\\n 100% {\\r\\n opacity: 1;\\r\\n }\\r\\n}\\r\\n\\r\\n.recorded-audio {\\r\\n width: 100px;\\r\\n outline: none;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.attachment-icon {\\r\\n cursor: pointer;\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.attachment-icon:hover {\\r\\n color: #f28d22;\\r\\n}\\r\\n.microphone-icon-screen-card-body {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 100%; /* Adjust height to fill the container properly */\\r\\n}\\r\\n\\r\\n.microphone-content {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.microphone-icon-screen {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n background-color: #f28d22;\\r\\n color: white;\\r\\n border-radius: 50%;\\r\\n cursor: pointer;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.microphone-icon-screen.recording {\\r\\n animation: microphone-glow 2s infinite;\\r\\n}\\r\\n\\r\\n@keyframes microphone-glow {\\r\\n 0% {\\r\\n box-shadow: 0 0 15px rgba(255, 165, 0, 0.4), 0 0 30px rgba(255, 165, 0, 0.2);\\r\\n }\\r\\n 50% {\\r\\n box-shadow: 0 0 20px rgba(255, 165, 0, 0.5), 0 0 40px rgba(255, 165, 0, 0.3);\\r\\n }\\r\\n 100% {\\r\\n box-shadow: 0 0 15px rgba(255, 165, 0, 0.4), 0 0 30px rgba(255, 165, 0, 0.2);\\r\\n }\\r\\n}\\r\\n\\r\\n.wave {\\r\\n position: absolute;\\r\\n width: 120px;\\r\\n height: 120px;\\r\\n background-color: rgba(242, 141, 34, 0.5);\\r\\n border-radius: 50%;\\r\\n animation: wave-animation 1.5s infinite;\\r\\n z-index: -1;\\r\\n}\\r\\n\\r\\n@keyframes wave-animation {\\r\\n 0% {\\r\\n transform: scale(1);\\r\\n opacity: 0.8;\\r\\n }\\r\\n 50% {\\r\\n opacity: 0.4;\\r\\n }\\r\\n 100% {\\r\\n transform: scale(3);\\r\\n opacity: 0;\\r\\n }\\r\\n}\\r\\n\\r\\n.custom-audio-player {\\r\\n display: block;\\r\\n margin: auto;\\r\\n padding-right: 25px;\\r\\n}\\r\\n\\r\\n::ng-deep .owl-carousel .product-image,\\r\\n::ng-deep .owl-carousel .product-image img {\\r\\n min-height: 150px;\\r\\n max-height: 150px;\\r\\n}\\r\\n\\r\\n::ng-deep .owl-carousel .price .old-price {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n::ng-deep .owl-item{\\r\\n padding-left: 2px;\\r\\n}\\r\\n\\r\\n.message-box.text-center {\\r\\n background-color: #ffffff;\\r\\n padding: 20px;\\r\\n border-radius: 12px;\\r\\n /* box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.15); */\\r\\n font-size: 14px;\\r\\n line-height: 1.8;\\r\\n color: #333333;\\r\\n text-align: center;\\r\\n max-width: 300px;\\r\\n margin: 0 auto;\\r\\n}\\r\\n\\r\\n.message-box.text-center span {\\r\\n display: block;\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n\\r\\nbutton.close {\\r\\n outline: none;\\r\\n border: none;\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\nbutton.close:focus {\\r\\n outline: none;\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"html {\\r\\n scroll-behavior: smooth;\\r\\n}\\r\\n.header {\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n z-index: 3;\\r\\n background: rgba(255, 255, 255, 0.6);\\r\\n}\\r\\n.sticky-header {\\r\\n background: #fff;\\r\\n}\\r\\n.sticky-header .top-nav {\\r\\n padding-top: 0.25rem !important;\\r\\n padding-bottom: 0.25rem !important;\\r\\n}\\r\\n.sticky-header .top-nav-left a,\\r\\n.sticky-header .top-nav-right .btn {\\r\\n font-size: 80%;\\r\\n}\\r\\n\\r\\n.mat-drawer-container {\\r\\n z-index: 2001;\\r\\n}\\r\\nmat-sidenav {\\r\\n width: 350px;\\r\\n max-width: 75%;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n:host ::ng-deep .mat-drawer-backdrop {\\r\\n position: fixed !important;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n:host ::ng-deep .mat-drawer-inner-container {\\r\\n overflow: hidden;\\r\\n}\\r\\n.mainmenu-container {\\r\\n height: calc(100% - 55px);\\r\\n overflow-y: auto;\\r\\n}\\r\\n.submenu-container {\\r\\n position: absolute;\\r\\n top: 50px;\\r\\n left: 0;\\r\\n height: calc(100% - 55px);\\r\\n overflow: auto;\\r\\n width: 100%;\\r\\n}\\r\\n.main-nav .nav-item .nav-link {\\r\\n transition: 0.4s;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.main-nav .nav-item .nav-link::after,\\r\\n.main-nav .nav-item .nav-link.active::after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n height: 2px;\\r\\n background-color: var(--primary);\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n transform: scaleX(0);\\r\\n transform-origin: right;\\r\\n transition: transform 0.4s;\\r\\n}\\r\\n\\r\\n.main-nav .nav-item .nav-link:hover,\\r\\n.main-nav .nav-item .nav-link.active {\\r\\n color: var(--primary);\\r\\n}\\r\\n\\r\\n.main-nav .nav-item .nav-link:hover::after,\\r\\n.main-nav .nav-item .nav-link.active::after {\\r\\n transform: scaleX(1);\\r\\n transform-origin: left;\\r\\n}\\r\\n\\r\\n.mat-sidenav .btn-link {\\r\\n outline: none;\\r\\n border: none;\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n.mat-sidenav .btn-link:focus {\\r\\n outline: none;\\r\\n box-shadow: none;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/e-commerce/template/header/header.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,uBAAuB;AACzB;AACA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,WAAW;EACX,UAAU;EACV,oCAAoC;AACtC;AACA;EACE,gBAAgB;AAClB;AACA;EACE,+BAA+B;EAC/B,kCAAkC;AACpC;AACA;;EAEE,cAAc;AAChB;;AAEA;EACE,aAAa;AACf;AACA;EACE,YAAY;EACZ,cAAc;EACd,kBAAkB;AACpB;AACA;EACE,0BAA0B;EAC1B,WAAW;EACX,YAAY;AACd;AACA;EACE,gBAAgB;AAClB;AACA;EACE,yBAAyB;EACzB,gBAAgB;AAClB;AACA;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,yBAAyB;EACzB,cAAc;EACd,WAAW;AACb;AACA;EACE,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA;;EAEE,WAAW;EACX,kBAAkB;EAClB,WAAW;EACX,WAAW;EACX,gCAAgC;EAChC,SAAS;EACT,OAAO;EACP,oBAAoB;EACpB,uBAAuB;EACvB,0BAA0B;AAC5B;;AAEA;;EAEE,qBAAqB;AACvB;;AAEA;;EAEE,oBAAoB;EACpB,sBAAsB;AACxB;;AAEA;EACE,aAAa;EACb,YAAY;EACZ,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,gBAAgB;AAClB\",\"sourcesContent\":[\"html {\\r\\n scroll-behavior: smooth;\\r\\n}\\r\\n.header {\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n z-index: 3;\\r\\n background: rgba(255, 255, 255, 0.6);\\r\\n}\\r\\n.sticky-header {\\r\\n background: #fff;\\r\\n}\\r\\n.sticky-header .top-nav {\\r\\n padding-top: 0.25rem !important;\\r\\n padding-bottom: 0.25rem !important;\\r\\n}\\r\\n.sticky-header .top-nav-left a,\\r\\n.sticky-header .top-nav-right .btn {\\r\\n font-size: 80%;\\r\\n}\\r\\n\\r\\n.mat-drawer-container {\\r\\n z-index: 2001;\\r\\n}\\r\\nmat-sidenav {\\r\\n width: 350px;\\r\\n max-width: 75%;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n:host ::ng-deep .mat-drawer-backdrop {\\r\\n position: fixed !important;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n:host ::ng-deep .mat-drawer-inner-container {\\r\\n overflow: hidden;\\r\\n}\\r\\n.mainmenu-container {\\r\\n height: calc(100% - 55px);\\r\\n overflow-y: auto;\\r\\n}\\r\\n.submenu-container {\\r\\n position: absolute;\\r\\n top: 50px;\\r\\n left: 0;\\r\\n height: calc(100% - 55px);\\r\\n overflow: auto;\\r\\n width: 100%;\\r\\n}\\r\\n.main-nav .nav-item .nav-link {\\r\\n transition: 0.4s;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.main-nav .nav-item .nav-link::after,\\r\\n.main-nav .nav-item .nav-link.active::after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n height: 2px;\\r\\n background-color: var(--primary);\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n transform: scaleX(0);\\r\\n transform-origin: right;\\r\\n transition: transform 0.4s;\\r\\n}\\r\\n\\r\\n.main-nav .nav-item .nav-link:hover,\\r\\n.main-nav .nav-item .nav-link.active {\\r\\n color: var(--primary);\\r\\n}\\r\\n\\r\\n.main-nav .nav-item .nav-link:hover::after,\\r\\n.main-nav .nav-item .nav-link.active::after {\\r\\n transform: scaleX(1);\\r\\n transform-origin: left;\\r\\n}\\r\\n\\r\\n.mat-sidenav .btn-link {\\r\\n outline: none;\\r\\n border: none;\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n.mat-sidenav .btn-link:focus {\\r\\n outline: none;\\r\\n box-shadow: none;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".mat-radio-button ~ .mat-radio-button {\\r\\n margin-left: 16px;\\r\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/customer/address/add-address/add-address.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,iBAAiB;AACrB\",\"sourcesContent\":[\".mat-radio-button ~ .mat-radio-button {\\r\\n margin-left: 16px;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".product-image {\\r\\n overflow: hidden;\\r\\n min-height: 250px;\\r\\n max-height: 250px;\\r\\n max-width: 100%;\\r\\n border-radius: 1.125rem;\\r\\n}\\r\\n.old-price {\\r\\n text-decoration: line-through;\\r\\n}\\r\\n.product-image img {\\r\\n transition: all 0.75s ease-in-out 0s;\\r\\n min-height: 250px;\\r\\n object-fit: cover;\\r\\n max-height: 250px;\\r\\n}\\r\\n.card-product .price {\\r\\n font-size: 1.25rem;\\r\\n color: var(--danger);\\r\\n}\\r\\n.card-product .old-price {\\r\\n font-size: 75%;\\r\\n color: var(--gray);\\r\\n text-decoration: line-through;\\r\\n}\\r\\n.product-dicount-badge {\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: 0;\\r\\n max-width: 10rem;\\r\\n height: auto;\\r\\n width: auto;\\r\\n border-radius: 50%;\\r\\n border-radius: 0;\\r\\n border-top-right-radius: 0px;\\r\\n border-bottom-left-radius: 0px;\\r\\n background-color: var(--warning);\\r\\n z-index: 3;\\r\\n font-size: 80%;\\r\\n padding: 5px 10px;\\r\\n border-bottom-left-radius: 5px;\\r\\n border-top-right-radius: 1.125rem;\\r\\n}\\r\\n\\r\\n.product-dicount-badge h4 {\\r\\n font-size: 0.875rem;\\r\\n font-weight: 600 !important;\\r\\n}\\r\\n.card-header img {\\r\\n max-width: 30px;\\r\\n display: inline-block;\\r\\n margin-right: 10px;\\r\\n}\\r\\n.card-header h6 {\\r\\n display: inline-block;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/customer/job/job-detail/job-detail.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,gBAAgB;EAChB,iBAAiB;EACjB,iBAAiB;EACjB,eAAe;EACf,uBAAuB;AACzB;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,oCAAoC;EACpC,iBAAiB;EACjB,iBAAiB;EACjB,iBAAiB;AACnB;AACA;EACE,kBAAkB;EAClB,oBAAoB;AACtB;AACA;EACE,cAAc;EACd,kBAAkB;EAClB,6BAA6B;AAC/B;AACA;EACE,kBAAkB;EAClB,QAAQ;EACR,MAAM;EACN,gBAAgB;EAChB,YAAY;EACZ,WAAW;EACX,kBAAkB;EAClB,gBAAgB;EAChB,4BAA4B;EAC5B,8BAA8B;EAC9B,gCAAgC;EAChC,UAAU;EACV,cAAc;EACd,iBAAiB;EACjB,8BAA8B;EAC9B,iCAAiC;AACnC;;AAEA;EACE,mBAAmB;EACnB,2BAA2B;AAC7B;AACA;EACE,eAAe;EACf,qBAAqB;EACrB,kBAAkB;AACpB;AACA;EACE,qBAAqB;AACvB\",\"sourcesContent\":[\".product-image {\\r\\n overflow: hidden;\\r\\n min-height: 250px;\\r\\n max-height: 250px;\\r\\n max-width: 100%;\\r\\n border-radius: 1.125rem;\\r\\n}\\r\\n.old-price {\\r\\n text-decoration: line-through;\\r\\n}\\r\\n.product-image img {\\r\\n transition: all 0.75s ease-in-out 0s;\\r\\n min-height: 250px;\\r\\n object-fit: cover;\\r\\n max-height: 250px;\\r\\n}\\r\\n.card-product .price {\\r\\n font-size: 1.25rem;\\r\\n color: var(--danger);\\r\\n}\\r\\n.card-product .old-price {\\r\\n font-size: 75%;\\r\\n color: var(--gray);\\r\\n text-decoration: line-through;\\r\\n}\\r\\n.product-dicount-badge {\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: 0;\\r\\n max-width: 10rem;\\r\\n height: auto;\\r\\n width: auto;\\r\\n border-radius: 50%;\\r\\n border-radius: 0;\\r\\n border-top-right-radius: 0px;\\r\\n border-bottom-left-radius: 0px;\\r\\n background-color: var(--warning);\\r\\n z-index: 3;\\r\\n font-size: 80%;\\r\\n padding: 5px 10px;\\r\\n border-bottom-left-radius: 5px;\\r\\n border-top-right-radius: 1.125rem;\\r\\n}\\r\\n\\r\\n.product-dicount-badge h4 {\\r\\n font-size: 0.875rem;\\r\\n font-weight: 600 !important;\\r\\n}\\r\\n.card-header img {\\r\\n max-width: 30px;\\r\\n display: inline-block;\\r\\n margin-right: 10px;\\r\\n}\\r\\n.card-header h6 {\\r\\n display: inline-block;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"mat-selection-list {\\r\\n overflow: hidden;\\r\\n overflow-y: hidden;\\r\\n overflow-y: auto;\\r\\n max-height: 195px;\\r\\n}\\r\\n\\r\\nmat-list-option {\\r\\n border-bottom: 1px solid #dee2e6;\\r\\n}\\r\\n\\r\\nmat-list-option:last-child {\\r\\n border-bottom: 0;\\r\\n}\\r\\n.th_items {\\r\\n width: 35%;\\r\\n}\\r\\n\\r\\n.th_price {\\r\\n width: 15%;\\r\\n}\\r\\n\\r\\n.th_qty {\\r\\n width: 10%;\\r\\n}\\r\\n\\r\\n.th_total {\\r\\n width: 20%;\\r\\n}\\r\\n.th_status {\\r\\n width: 20%;\\r\\n}\\r\\n:host::ng-deep .popover-header {\\r\\n font-size: 90%;\\r\\n}\\r\\n.driver_info span {\\r\\n cursor: pointer;\\r\\n}\\r\\n.driver_info mat-icon {\\r\\n font-size: 20px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n}\\r\\n.driver-content-container mat-icon {\\r\\n font-size: 20px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n}\\r\\n\\r\\n.attachment-images-container .image-new {\\r\\n min-height: 100px;\\r\\n border: 2px solid var(--gray);\\r\\n margin-bottom: 15px;\\r\\n cursor: pointer;\\r\\n position: relative;\\r\\n padding: 0.5rem;\\r\\n border-radius: 10px;\\r\\n}\\r\\n.attachment-images-container label.image-new .mat-icon {\\r\\n color: var(--gray);\\r\\n}\\r\\n\\r\\n.attachment-images-container .image-new .remove-secondary-image {\\r\\n opacity: 0;\\r\\n visibility: hidden;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n background: rgba(0, 0, 0, 0.5);\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n text-align: center;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.attachment-images-container .image-new:hover .remove-secondary-image {\\r\\n opacity: 1;\\r\\n visibility: visible;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/customer/orders/detail/detail.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;EAChB,iBAAiB;AACnB;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,gBAAgB;AAClB;AACA;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;EACf,YAAY;EACZ,WAAW;AACb;AACA;EACE,eAAe;EACf,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,iBAAiB;EACjB,6BAA6B;EAC7B,mBAAmB;EACnB,eAAe;EACf,kBAAkB;EAClB,eAAe;EACf,mBAAmB;AACrB;AACA;EACE,kBAAkB;AACpB;;AAEA;EACE,UAAU;EACV,kBAAkB;EAClB,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,8BAA8B;EAC9B,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,UAAU;EACV,mBAAmB;AACrB\",\"sourcesContent\":[\"mat-selection-list {\\r\\n overflow: hidden;\\r\\n overflow-y: hidden;\\r\\n overflow-y: auto;\\r\\n max-height: 195px;\\r\\n}\\r\\n\\r\\nmat-list-option {\\r\\n border-bottom: 1px solid #dee2e6;\\r\\n}\\r\\n\\r\\nmat-list-option:last-child {\\r\\n border-bottom: 0;\\r\\n}\\r\\n.th_items {\\r\\n width: 35%;\\r\\n}\\r\\n\\r\\n.th_price {\\r\\n width: 15%;\\r\\n}\\r\\n\\r\\n.th_qty {\\r\\n width: 10%;\\r\\n}\\r\\n\\r\\n.th_total {\\r\\n width: 20%;\\r\\n}\\r\\n.th_status {\\r\\n width: 20%;\\r\\n}\\r\\n:host::ng-deep .popover-header {\\r\\n font-size: 90%;\\r\\n}\\r\\n.driver_info span {\\r\\n cursor: pointer;\\r\\n}\\r\\n.driver_info mat-icon {\\r\\n font-size: 20px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n}\\r\\n.driver-content-container mat-icon {\\r\\n font-size: 20px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n}\\r\\n\\r\\n.attachment-images-container .image-new {\\r\\n min-height: 100px;\\r\\n border: 2px solid var(--gray);\\r\\n margin-bottom: 15px;\\r\\n cursor: pointer;\\r\\n position: relative;\\r\\n padding: 0.5rem;\\r\\n border-radius: 10px;\\r\\n}\\r\\n.attachment-images-container label.image-new .mat-icon {\\r\\n color: var(--gray);\\r\\n}\\r\\n\\r\\n.attachment-images-container .image-new .remove-secondary-image {\\r\\n opacity: 0;\\r\\n visibility: hidden;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n background: rgba(0, 0, 0, 0.5);\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n text-align: center;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.attachment-images-container .image-new:hover .remove-secondary-image {\\r\\n opacity: 1;\\r\\n visibility: visible;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".mobile-number.is-invalid {\\r\\n padding-right: 36px !important;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/customer/profile/profile/profile.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,8BAA8B;AAChC\",\"sourcesContent\":[\".mobile-number.is-invalid {\\r\\n padding-right: 36px !important;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".card-header,\\r\\n.card-footer {\\r\\n background: transparent;\\r\\n}\\r\\n.btn-feedback {\\r\\n color: var(--primary);\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n:host::ng-deep .popover-header {\\r\\n font-size: 90%;\\r\\n}\\r\\n.driver_info span {\\r\\n cursor: pointer;\\r\\n}\\r\\n.driver_info mat-icon {\\r\\n font-size: 20px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n}\\r\\n.driver-content-container {\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding-bottom: 4px;\\r\\n margin-bottom: 4px;\\r\\n}\\r\\n.driver-content-container:last-child {\\r\\n border-bottom: 0;\\r\\n padding-bottom: 0;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n.driver-content-container mat-icon {\\r\\n font-size: 20px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/customer/return-request/return-request.component.css\"],\"names\":[],\"mappings\":\"AAAA;;EAEE,uBAAuB;AACzB;AACA;EACE,qBAAqB;EACrB,0BAA0B;AAC5B;;AAEA;EACE,cAAc;AAChB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;EACf,YAAY;EACZ,WAAW;AACb;AACA;EACE,6BAA6B;EAC7B,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;EAChB,iBAAiB;EACjB,gBAAgB;AAClB;AACA;EACE,eAAe;EACf,YAAY;EACZ,WAAW;AACb\",\"sourcesContent\":[\".card-header,\\r\\n.card-footer {\\r\\n background: transparent;\\r\\n}\\r\\n.btn-feedback {\\r\\n color: var(--primary);\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n:host::ng-deep .popover-header {\\r\\n font-size: 90%;\\r\\n}\\r\\n.driver_info span {\\r\\n cursor: pointer;\\r\\n}\\r\\n.driver_info mat-icon {\\r\\n font-size: 20px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n}\\r\\n.driver-content-container {\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding-bottom: 4px;\\r\\n margin-bottom: 4px;\\r\\n}\\r\\n.driver-content-container:last-child {\\r\\n border-bottom: 0;\\r\\n padding-bottom: 0;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n.driver-content-container mat-icon {\\r\\n font-size: 20px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* mat-list-option {\\r\\n border-top: 1px solid #ddd !important;\\r\\n padding-top: 1rem;\\r\\n} */\\r\\n.cancel-order-header .checkbox-select {\\r\\n padding-right: 16px;\\r\\n}\\r\\n.mat-list-base .mat-list-item,\\r\\n.mat-list-base .mat-list-option {\\r\\n height: auto !important;\\r\\n}\\r\\n\\r\\n.info-item .img-thumbnail {\\r\\n max-width: 40px;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/customer/support-cancel-order/support-cancel-order.component.css\"],\"names\":[],\"mappings\":\"AAAA;;;GAGG;AACH;EACE,mBAAmB;AACrB;AACA;;EAEE,uBAAuB;AACzB;;AAEA;EACE,eAAe;AACjB\",\"sourcesContent\":[\"/* mat-list-option {\\r\\n border-top: 1px solid #ddd !important;\\r\\n padding-top: 1rem;\\r\\n} */\\r\\n.cancel-order-header .checkbox-select {\\r\\n padding-right: 16px;\\r\\n}\\r\\n.mat-list-base .mat-list-item,\\r\\n.mat-list-base .mat-list-option {\\r\\n height: auto !important;\\r\\n}\\r\\n\\r\\n.info-item .img-thumbnail {\\r\\n max-width: 40px;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".attribute-colors {\\r\\n margin-bottom: 20px;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.attribute-colors span {\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n margin: 0 5px;\\r\\n border-radius: 50%;\\r\\n cursor: pointer;\\r\\n position: relative\\r\\n}\\r\\n.attribute-colors .active:after {\\r\\n content: \\\"\\\";\\r\\n width: 38px;\\r\\n height: 38px;\\r\\n border: 2px solid #2196f3;\\r\\n position: absolute;\\r\\n border-radius: 50%;\\r\\n box-sizing: border-box;\\r\\n left: -4px;\\r\\n top: -4px\\r\\n}\\r\\n.attribute-image {\\r\\n margin-bottom: 20px;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.attribute-image span {\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n margin: 0 5px;\\r\\n border-radius: 50%;\\r\\n cursor: pointer;\\r\\n position: relative;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.attribute-image .active:after {\\r\\n content: \\\"\\\";\\r\\n width: 38px;\\r\\n height: 38px;\\r\\n border: 2px solid #2196f3;\\r\\n position: absolute;\\r\\n border-radius: 0.25rem;\\r\\n box-sizing: border-box;\\r\\n left: -4px;\\r\\n top: -4px\\r\\n}\\r\\n.blue {\\r\\n background: #7ed6df\\r\\n}\\r\\n\\r\\n.green {\\r\\n background: #badc58\\r\\n}\\r\\n\\r\\n.yellow {\\r\\n background: #f9ca24\\r\\n}\\r\\n\\r\\n.rose {\\r\\n background: #ff7979\\r\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/customer/wishlist/detail/detail.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,mBAAmB;IACnB,aAAa;AACjB;;AAEA;IACI,WAAW;IACX,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,eAAe;IACf;AACJ;AACA;IACI,WAAW;IACX,WAAW;IACX,YAAY;IACZ,yBAAyB;IACzB,kBAAkB;IAClB,kBAAkB;IAClB,sBAAsB;IACtB,UAAU;IACV;AACJ;AACA;IACI,mBAAmB;IACnB,aAAa;AACjB;;AAEA;IACI,WAAW;IACX,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,eAAe;IACf,kBAAkB;IAClB,qBAAqB;AACzB;;AAEA;IACI,WAAW;IACX,WAAW;IACX,YAAY;IACZ,yBAAyB;IACzB,kBAAkB;IAClB,sBAAsB;IACtB,sBAAsB;IACtB,UAAU;IACV;AACJ;AACA;IACI;AACJ;;AAEA;IACI;AACJ;;AAEA;IACI;AACJ;;AAEA;IACI;AACJ\",\"sourcesContent\":[\".attribute-colors {\\r\\n margin-bottom: 20px;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.attribute-colors span {\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n margin: 0 5px;\\r\\n border-radius: 50%;\\r\\n cursor: pointer;\\r\\n position: relative\\r\\n}\\r\\n.attribute-colors .active:after {\\r\\n content: \\\"\\\";\\r\\n width: 38px;\\r\\n height: 38px;\\r\\n border: 2px solid #2196f3;\\r\\n position: absolute;\\r\\n border-radius: 50%;\\r\\n box-sizing: border-box;\\r\\n left: -4px;\\r\\n top: -4px\\r\\n}\\r\\n.attribute-image {\\r\\n margin-bottom: 20px;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.attribute-image span {\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n margin: 0 5px;\\r\\n border-radius: 50%;\\r\\n cursor: pointer;\\r\\n position: relative;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.attribute-image .active:after {\\r\\n content: \\\"\\\";\\r\\n width: 38px;\\r\\n height: 38px;\\r\\n border: 2px solid #2196f3;\\r\\n position: absolute;\\r\\n border-radius: 0.25rem;\\r\\n box-sizing: border-box;\\r\\n left: -4px;\\r\\n top: -4px\\r\\n}\\r\\n.blue {\\r\\n background: #7ed6df\\r\\n}\\r\\n\\r\\n.green {\\r\\n background: #badc58\\r\\n}\\r\\n\\r\\n.yellow {\\r\\n background: #f9ca24\\r\\n}\\r\\n\\r\\n.rose {\\r\\n background: #ff7979\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".old-price {\\r\\n text-decoration: line-through;\\r\\n}\\r\\n.product-dicount-badge {\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: 0;\\r\\n max-width: 10rem;\\r\\n height: auto;\\r\\n width: auto;\\r\\n border-radius: 50%;\\r\\n border-radius: 0;\\r\\n border-top-right-radius: 0px;\\r\\n border-bottom-left-radius: 0px;\\r\\n background-color: var(--warning);\\r\\n z-index: 3;\\r\\n font-size: 80%;\\r\\n padding: 5px 10px;\\r\\n border-bottom-left-radius: 5px;\\r\\n border-top-right-radius: 1.125rem;\\r\\n}\\r\\n\\r\\n.product-dicount-badge h4 {\\r\\n font-size: 0.875rem;\\r\\n font-weight: 600 !important;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/pages/customer/wishlist/wishlist/wishlist.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,6BAA6B;AAC/B;AACA;EACE,kBAAkB;EAClB,QAAQ;EACR,MAAM;EACN,gBAAgB;EAChB,YAAY;EACZ,WAAW;EACX,kBAAkB;EAClB,gBAAgB;EAChB,4BAA4B;EAC5B,8BAA8B;EAC9B,gCAAgC;EAChC,UAAU;EACV,cAAc;EACd,iBAAiB;EACjB,8BAA8B;EAC9B,iCAAiC;AACnC;;AAEA;EACE,mBAAmB;EACnB,2BAA2B;AAC7B\",\"sourcesContent\":[\".old-price {\\r\\n text-decoration: line-through;\\r\\n}\\r\\n.product-dicount-badge {\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: 0;\\r\\n max-width: 10rem;\\r\\n height: auto;\\r\\n width: auto;\\r\\n border-radius: 50%;\\r\\n border-radius: 0;\\r\\n border-top-right-radius: 0px;\\r\\n border-bottom-left-radius: 0px;\\r\\n background-color: var(--warning);\\r\\n z-index: 3;\\r\\n font-size: 80%;\\r\\n padding: 5px 10px;\\r\\n border-bottom-left-radius: 5px;\\r\\n border-top-right-radius: 1.125rem;\\r\\n}\\r\\n\\r\\n.product-dicount-badge h4 {\\r\\n font-size: 0.875rem;\\r\\n font-weight: 600 !important;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".download-app img {\\r\\n max-width: 140px;\\r\\n height: auto;\\r\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/shared/template-default/footer/footer.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,gBAAgB;IAChB,YAAY;AAChB\",\"sourcesContent\":[\".download-app img {\\r\\n max-width: 140px;\\r\\n height: auto;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".header .navbar-toggler-icon {\\r\\n background-image: url(\\\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\\\");\\r\\n}\\r\\n.logo-block img {\\r\\n max-width: 200px;\\r\\n}\\r\\n\\r\\n.header-users-links a {\\r\\n margin-left: 1rem;\\r\\n color: var(--gray);\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.top-header a {\\r\\n color: var(--gray);\\r\\n font-size: 15px;\\r\\n}\\r\\n\\r\\n.w-30 {\\r\\n width: 30% !important;\\r\\n}\\r\\n\\r\\n.header-users-links a .badge {\\r\\n position: absolute;\\r\\n right: -5px;\\r\\n top: -5px;\\r\\n font-size: 0.6rem;\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n .header-users-links a {\\r\\n font-size: 18px;\\r\\n }\\r\\n .header-users-links a p {\\r\\n display: none;\\r\\n }\\r\\n\\r\\n .header-users-links .login-link1 {\\r\\n display: none;\\r\\n }\\r\\n .w-30 {\\r\\n width: auto !important;\\r\\n }\\r\\n .top-header {\\r\\n display: none !important;\\r\\n }\\r\\n .header-users-links a .badge {\\r\\n right: -6px;\\r\\n top: -2px;\\r\\n }\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/shared/template-default/header/header.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,wPAAwP;AAC1P;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,iBAAiB;EACjB,kBAAkB;EAClB,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;EAClB,eAAe;AACjB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,iBAAiB;AACnB;;AAEA;EACE;IACE,eAAe;EACjB;EACA;IACE,aAAa;EACf;;EAEA;IACE,aAAa;EACf;EACA;IACE,sBAAsB;EACxB;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,WAAW;IACX,SAAS;EACX;AACF\",\"sourcesContent\":[\".header .navbar-toggler-icon {\\r\\n background-image: url(\\\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\\\");\\r\\n}\\r\\n.logo-block img {\\r\\n max-width: 200px;\\r\\n}\\r\\n\\r\\n.header-users-links a {\\r\\n margin-left: 1rem;\\r\\n color: var(--gray);\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.top-header a {\\r\\n color: var(--gray);\\r\\n font-size: 15px;\\r\\n}\\r\\n\\r\\n.w-30 {\\r\\n width: 30% !important;\\r\\n}\\r\\n\\r\\n.header-users-links a .badge {\\r\\n position: absolute;\\r\\n right: -5px;\\r\\n top: -5px;\\r\\n font-size: 0.6rem;\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n .header-users-links a {\\r\\n font-size: 18px;\\r\\n }\\r\\n .header-users-links a p {\\r\\n display: none;\\r\\n }\\r\\n\\r\\n .header-users-links .login-link1 {\\r\\n display: none;\\r\\n }\\r\\n .w-30 {\\r\\n width: auto !important;\\r\\n }\\r\\n .top-header {\\r\\n display: none !important;\\r\\n }\\r\\n .header-users-links a .badge {\\r\\n right: -6px;\\r\\n top: -2px;\\r\\n }\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".user-image-thumb {\\r\\n position: relative;\\r\\n}\\r\\n.user-image-thumb img {\\r\\n opacity: 1;\\r\\n transition: 0.5s ease;\\r\\n backface-visibility: hidden;\\r\\n}\\r\\n.user-image-hover {\\r\\n transition: 0.5s ease;\\r\\n opacity: 0;\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n -ms-transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.user-image-thumb:hover img {\\r\\n opacity: 0.3;\\r\\n}\\r\\n\\r\\n.user-image-thumb:hover .user-image-hover {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\ncustom-file-upload-wrap {\\r\\n padding: 2rem 1rem;\\r\\n border: 1px solid var(--light);\\r\\n position: relative;\\r\\n}\\r\\n.custom-file-upload-wrap input[type=\\\"file\\\"] {\\r\\n opacity: 0;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n right: 0;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n z-index: 2;\\r\\n cursor: pointer;\\r\\n}\\r\\n.custom-file-upload-wrap label {\\r\\n display: inline-block;\\r\\n margin-bottom: 0.5rem;\\r\\n font-weight: 500;\\r\\n font-size: 0.85rem;\\r\\n font-family: var(--font-montserrat);\\r\\n color: var(--dark);\\r\\n cursor: pointer;\\r\\n}\\r\\n.custom-file-upload-circle {\\r\\n border-radius: 50%;\\r\\n margin: 0 auto;\\r\\n height: 250px;\\r\\n width: 250px;\\r\\n /* line-height: 200px; */\\r\\n overflow: hidden;\\r\\n}\\r\\n.custom-file-upload-wrap > img {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n width: 100%;\\r\\n object-fit: cover;\\r\\n height: 100%;\\r\\n z-index: 1;\\r\\n}\\r\\n#uploadDocument .close {\\r\\n position: absolute;\\r\\n right: -30px;\\r\\n color: var(--white);\\r\\n opacity: 1;\\r\\n text-shadow: none;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/shared/template-default/siderbar/siderbar.component.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAkB;AACpB;AACA;EACE,UAAU;EACV,qBAAqB;EACrB,2BAA2B;AAC7B;AACA;EACE,qBAAqB;EACrB,UAAU;EACV,kBAAkB;EAClB,QAAQ;EACR,SAAS;EACT,gCAAgC;EAChC,oCAAoC;EACpC,kBAAkB;AACpB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,kBAAkB;EAClB,8BAA8B;EAC9B,kBAAkB;AACpB;AACA;EACE,UAAU;EACV,kBAAkB;EAClB,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,WAAW;EACX,MAAM;EACN,SAAS;EACT,UAAU;EACV,eAAe;AACjB;AACA;EACE,qBAAqB;EACrB,qBAAqB;EACrB,gBAAgB;EAChB,kBAAkB;EAClB,mCAAmC;EACnC,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,cAAc;EACd,aAAa;EACb,YAAY;EACZ,wBAAwB;EACxB,gBAAgB;AAClB;AACA;EACE,kBAAkB;EAClB,OAAO;EACP,MAAM;EACN,WAAW;EACX,iBAAiB;EACjB,YAAY;EACZ,UAAU;AACZ;AACA;EACE,kBAAkB;EAClB,YAAY;EACZ,mBAAmB;EACnB,UAAU;EACV,iBAAiB;AACnB\",\"sourcesContent\":[\".user-image-thumb {\\r\\n position: relative;\\r\\n}\\r\\n.user-image-thumb img {\\r\\n opacity: 1;\\r\\n transition: 0.5s ease;\\r\\n backface-visibility: hidden;\\r\\n}\\r\\n.user-image-hover {\\r\\n transition: 0.5s ease;\\r\\n opacity: 0;\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n -ms-transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.user-image-thumb:hover img {\\r\\n opacity: 0.3;\\r\\n}\\r\\n\\r\\n.user-image-thumb:hover .user-image-hover {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\ncustom-file-upload-wrap {\\r\\n padding: 2rem 1rem;\\r\\n border: 1px solid var(--light);\\r\\n position: relative;\\r\\n}\\r\\n.custom-file-upload-wrap input[type=\\\"file\\\"] {\\r\\n opacity: 0;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n right: 0;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n z-index: 2;\\r\\n cursor: pointer;\\r\\n}\\r\\n.custom-file-upload-wrap label {\\r\\n display: inline-block;\\r\\n margin-bottom: 0.5rem;\\r\\n font-weight: 500;\\r\\n font-size: 0.85rem;\\r\\n font-family: var(--font-montserrat);\\r\\n color: var(--dark);\\r\\n cursor: pointer;\\r\\n}\\r\\n.custom-file-upload-circle {\\r\\n border-radius: 50%;\\r\\n margin: 0 auto;\\r\\n height: 250px;\\r\\n width: 250px;\\r\\n /* line-height: 200px; */\\r\\n overflow: hidden;\\r\\n}\\r\\n.custom-file-upload-wrap > img {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n width: 100%;\\r\\n object-fit: cover;\\r\\n height: 100%;\\r\\n z-index: 1;\\r\\n}\\r\\n#uploadDocument .close {\\r\\n position: absolute;\\r\\n right: -30px;\\r\\n color: var(--white);\\r\\n opacity: 1;\\r\\n text-shadow: none;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".map-control {\\n width: 14px;\\n height: 80px;\\n background-color: #E6E6E6;\\n border: 1px solid blue;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./common/_components/maps/map-control/map-control.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,WAAA;EACA,YAAA;EACA,yBAAA;EACA,sBAAA;AAAF\",\"sourcesContent\":[\".map-control\\r\\n{\\r\\n width: 14px;\\r\\n height: 80px;\\r\\n background-color: #E6E6E6;\\r\\n border: 1px solid blue;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".map-div {\\n position: absolute;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n}\\n\\n#map-container {\\n position: relative;\\n overflow: hidden;\\n}\\n\\n.map-control {\\n z-index: 10000;\\n position: absolute;\\n top: 20px;\\n right: 20px;\\n}\\n\\n.mouse-coords {\\n font-family: Arial;\\n font-size: 10px;\\n font-weight: bold;\\n position: fixed;\\n margin-top: 6px;\\n margin-left: 10px;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./common/_components/maps/map.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EAEE,kBAAA;EACA,OAAA;EACA,MAAA;EACA,WAAA;EACA,YAAA;AAAF;;AAGA;EAEE,kBAAA;EACA,gBAAA;AADF;;AAIA;EAEE,cAAA;EACA,kBAAA;EACA,SAAA;EACA,WAAA;AAFF;;AAKA;EAEE,kBAAA;EACA,eAAA;EACA,iBAAA;EACA,eAAA;EACA,eAAA;EACA,iBAAA;AAHF\",\"sourcesContent\":[\".map-div\\r\\n{\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n#map-container\\r\\n{\\r\\n position : relative;\\r\\n overflow : hidden;\\r\\n}\\r\\n\\r\\n.map-control\\r\\n{\\r\\n z-index: 10000;\\r\\n position: absolute;\\r\\n top: 20px;\\r\\n right: 20px;\\r\\n}\\r\\n\\r\\n.mouse-coords\\r\\n{\\r\\n font-family: Arial;\\r\\n font-size: 10px;\\r\\n font-weight: bold;\\r\\n position: fixed;\\r\\n margin-top: 6px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["NgModule","CommonModule","RouterModule","TranslateModule","LoginTemplateComponent","MenuListItemComponent","ConfirmDialogComponent","MaterialModule","NavService","MapComponent","MapControlComponent","SocialLoginComponent","ModalModule","FormsModule","ReactiveFormsModule","Ng2TelInputModule","NgxIntlTelInputModule","AngularFireModule","AngularFireAuthModule","constEnv","ComponentModule","declarations","imports","forRoot","initializeApp","firebaseConfig","exports","entryComponents","providers","Component","Inject","MatDialogRef","MAT_DIALOG_DATA","constructor","dialogRef","data","ngOnInit","confirmButton","cancelButton","args","selector","template","ActivatedRoute","GeneralService","route","gs","Date","getFullYear","logoUrl","getSiteLogo","MapIconOptions","iconAnchor","iconSize","mapIcon","mapShadowIcon","shadowSize","shadowAnchor","getCurrentOffset","map","layerCorner","getPixelOrigin","mapCorner","getPixelBounds","min","xVal","yVal","equals","x","y","InjectionToken","INIT_COORDS","Input","HostListener","ViewChild","Output","EventEmitter","L","ELG","_initCoords","baseLayer","onClickHandler","evt","__onMapClick","onMouseMoveHandler","__onMapMouseMove","mcText","mapDiv","mapDivRef","nativeElement","__setInitCoords","__initializeMap","__renderMap","currentBrowserLocation","__getCurrentLocation","ngAfterViewInit","invalidateSize","__initMapHandlers","__showMarkers","ngOnChanges","changes","ngOnDestroy","off","mapLoaded","__updateMapSize","lat","latitude","long","longitude","zoomControl","zoomAnimation","trackResize","boxZoom","zoomSnap","setView","tiles","tileLayer","maxZoom","attribution","addTo","mapLayerGroup","LayerGroup","searchAddressControl","markers","undefined","length","n","i","l","d","clearLayers","lng","label","draggable","isNaN","createMarker","console","log","setCenterMarkerMap","popupContent","icon","getMarkerIcon","m","marker","bindPopup","addLayer","that","on","getAddressFromLatLng","currentLocation","markerLatLongs","push","getLatLng","zoomLevel","markerBounds","latLngBounds","fitBounds","padding","setZoom","iconUrl","navigator","geolocation","getCurrentPosition","position","coords","__onResize","event","currentWidth","window","innerWidth","document","documentElement","clientWidth","body","toString","currentHeight","innerHeight","clientHeight","target","originalEvent","offset","latlng","toFixed","searchControl","geosearch","useMapBounds","arcgisOnlineProvider","maxResults","apikey","config","leafletEsriApiKey","placeholder","title","zoomToResult","notFoundMessage","results","text","setAutoCompleteResult","emit","reverseGeocode","language","run","error","result","addressInfo","bounds","properties","address","score","LongLabel","static","HostBinding","Router","animate","state","style","transition","trigger","navService","router","expanded","depth","currentUrl","subscribe","url","item","indexOf","ariaExpanded","onItemSelected","children","navigate","animations","transform","FormBuilder","FormControl","Validators","AlertService","IsLoadingService","CustomerService","FirebaseAuthService","LanguageService","StoreUserService","TitleService","first","alert","formBuilder","langService","isLoadingService","customerService","storeService","firebaseAuthService","titleService","firstName","lastName","createAccountForm","userTypeObject","userType","accountForm","group","phone","required","phoneCode","countryCode","email","compose","pattern","image","socialId","socialType","terms","a","controls","checkSocialLogin","socialUser","provider","toLowerCase","id","socialEmail","add","response","setAccountRegister","remove","autoShownModal","show","userData","getCurrentLanguage","userLanguage","changeLanguage","getProfile","pipe","profile","redirectURL","returnUrl","setTimeout","location","href","err","loading","trim","get","setValue","photoUrl","hasAccountEmail","hasSocialData","phoneInputPadding","getAccountErrorEmail","hasError","obj","validMobileNo","onCountryChange","dialCode","countryIsoCode","iso2","telInputObject","countryData","getSelectedCountryData","signInWithGoogle","providerId","providerType","GoogleAuth","next","res","setSocialUser","message","complete","isLoading$","signInWithFB","FacebookAuth","signInWithApple","AppleAuth","user","additionalUserInfo","userProfile","credentials","credential","picture","name","given_name","first_name","family_name","last_name","authToken","accessToken","idToken","authorizationCode","onAccountSubmit","accountSubmitted","invalid","value","socialLogin","reset","danger","msg","Injectable","AuthenticationService","AuthGuard","authenticationService","alertService","canActivate","currentUser","currentUserValue","currentUserDetail","userdetails","redirectUrl","DRIVER_URL","STORE_URL","deliveryCompanyActionUrl","BASE_URL","isFirstimeLogin","CUSTOMER_URL","myBaseURL","storeEndPoint","driverEndPoint","queryParams","providedIn","CustomValidator","MatchPassword","control","password","confirmPassword","setErrors","CheckTargetAmount","offerDiscount","parseFloat","targetAmount","offerType","targetAmountLess","checkTerms","checkterms","checkDiscount","discount","discountUnit","discountPer","discountFlat","checkPotentialListDiscount","productPrice","discountFlatMax","OnlyZeroNotAllowed","fieldName","fieldValue","zeroError","checkMaxValueFromMinValue","minfieldName","maxFiledName","minFieldValue","maxFieldValue","maxValueError","throwError","catchError","ErrorInterceptor","intercept","request","handle","status","logout","reload","JwtInterceptor","token","apiBaseURL","clone","setHeaders","Authorization","RoleGuard","CustomerAddress","deserialize","input","Object","assign","CustomerUser","CartItem","Cart","customerAddress","myCart","FilterValueModal","FilterAttributeModal","attributeValues","FilterBrandModal","HomeBanner","Payment","ProductDetail","ProductFilterModal","attributes","brands","categories","ProductList","SubCategoryModal","DashboardProduct","Dashboard","mostReturnProductCount","productStockCounter","topSellingProductCount","Earnings","HelpSupport","Notification","Offers","Order","Product","getStatus","ProductBrand","ProductCategory","ProductLabel","ProductServiceType","ProductTag","ProductTheme","ProductType","ProductVariation","ReturnRequest","StoreDriver","getFullName","getPhoneNumber","VariationInventory","Vehicle","Wishlist","Pipe","CurrencyPipe","MyCurrencyPipe","num","currencycode","showsymbol","digits","firstdigit","match","symbol","slice","index","amount","PipeModule","projectTitle","customerEndPoint","deliveryCompanyEndPoint","designerEndPoint","defaultLang","defaultCurrency","googleMapAPIKey","googleSiteKey","googleAuthClientId","facebookAppId","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","defaultLatitude","defaultLongitude","defaultZoom","calanderTheme","DELIVERY_COMPANY_URL","DESIGNER_URL","ASSETS_PATH","IMAGE_PATH","LOGO_PATH","LOGO_SVG_PATH","apiLoginURL","apiURL","apiStoreURL","apiDriverURL","apiCustomerURL","apiDeliveryCompanyURL","apiDesignerURL","apiSiteURL","apiShopingCartURL","threeViewUrl","chatBotBaseUrl","Directive","ElementRef","Renderer2","DropdownToggleDirective","el","renderer","onClick","preventDefault","$el","$parent","findClosestParent","addClass","nextElementSibling","classList","contains","$subMenu","parentElement","offsetTop","offsetLeft","offsetWidth","setStyle","element","currentElement","matches","FloatDirective","_el","onInputChange","initalValue","replace","stopPropagation","NumberDirective","MyDirectiveModule","MatAutocompleteModule","MatButtonModule","MatButtonToggleModule","MatCardModule","MatCheckboxModule","MatChipsModule","MatDatepickerModule","MatDialogModule","MatExpansionModule","MatGridListModule","MatIconModule","MatInputModule","MatListModule","MatMenuModule","MatNativeDateModule","MatPaginatorModule","MatProgressBarModule","MatProgressSpinnerModule","MatRadioModule","MatRippleModule","MatSelectModule","MatSidenavModule","MatSliderModule","MatSlideToggleModule","MatSnackBarModule","MatSortModule","MatTableModule","MatTabsModule","MatToolbarModule","MatTooltipModule","MatStepperModule","MatFormFieldModule","NgxMatDatetimePickerModule","NgxMatTimepickerModule","NgxMatNativeDateModule","NgxMatMomentModule","NgxMatSelectSearchModule","HttpClient","HttpParams","BehaviorSubject","http","constantConfig","currentUserSubject","JSON","parse","localStorage","getItem","asObservable","currentUserProfileValue","login","type","grantType","params","set","requestHeader","post","headers","setItem","stringify","removeItem","userLanguagePreference","currentLangId","params1","signalR","ChatbotService","startConnection","hubConnection","HubConnectionBuilder","withUrl","accessTokenFactory","configureLogging","LogLevel","Information","build","start","then","getRoomId","getRoomName","catch","sendMessage","invoke","roomName","OnErrorget","onReceiveMessage","callback","joinRoom","getMessageHistory","pageNo","pageSize","uploadImage","file","formData","FormData","append","uploadAudio","audioBlob","configConstant","currentUserProfile","updateProfile","getDashboard","dashboardData","register","forgotPassword","requestData","resetPassword","newPassword","changeProfilePhoto","formModel","responseData","imageURL","image_url","profile_image","delete","verifyEmail","getHeaderCounters","SocialType","SocialId","Email","changePassword","getCustomerOrders","dataTablesParameters","searchValue","searchBy","orderId","dateFrom","dateTo","searchParams","getCustomerAddressese","addressId","coallbackUrl","updateCustomerAddress","deleteCustomerAddress","setCustomerDefaultAddress","getCustomerOrderDetail","getCustomerWishList","paging","page","perPage","itemsPerPage","searchColumn","sortColumn","sortOrder","getProductDetail","productId","pid","removeCustomerWishlist","wishlistId","getCustomerJobs","createCustomerJob","getJobItems","jobId","getSpaceType","getReturnRequestPickupCharge","Quantity","ProductId","StoreId","OrderDetailId","IsReplaced","returnRequestTickets","getReturnRequestLists","search","returnRequestPayment","ticketId","updatePickupDate","pickupDate","formDate","patch","returnRequestPaymentSuccess","cancelRequestTickets","getCancelRequestLists","getCancelRequestDetail","requestId","addFeedBack","rateReviewToStoreOrderProduct","DeliveryCompanyService","mobileNo","ServiceTypeId","apiUrl","UserService","getCodDetails","getTransactionHistoryLists","createOfflinePayment","transferredDate","transferredAmount","transactionDetails","comments","attachment","paymentMode","getCodPayments","getCodPaymentDetail","PayId","isDeliveryCompany","IsDeliveryCompanyDriver","EventEmitterService","NgZone","AngularFireAuth","FacebookAuthProvider","GoogleAuthProvider","OAuthProvider","from","tap","afAuth","ngZone","GOOGLE","FB","APPLE","authState","AuthLogin","signInWithPopup","toJSON","addScope","SignOut","signOut","FixedElementService","fixedElementHeightSource","setHeight","height","ls","getAllCountry","getstateByCountryId","countryId","param","getcityByStateId","stateId","getDefaultSettingsValue","setDefaultSettings","settingsValue","getDefaultSettings","defaultSettings","getGoogleMapKey","getCmsPageContent","pagename","lang","getAllCurrencies","getSettings","settingKey","settings","getDefaultCurrency","getFaq","sendContactInquiry","formKeys","keys","itemKey","getServiceTypes","svg","getSiteCategory","langId","getCurrentLanguageId","getDeliveryZoneLists","column","getDeliveryZoneById","addEditDeliveryZone","deleteDeliveryZone","deliveryZoneChangeStatus","getDeliveryZoneForStore","addEditShippingRate","getShippingRateById","getShippingRateLists","deleteShippingRate","shippingRateChangeStatus","getReturnReasonOptions","getCancelReasonOptions","RendererFactory2","TranslateService","LoaderService","DOCUMENT","translate","rendererFactory","createRenderer","getCurrentLanguageCode","changeLanguageByLangCode","setDefaultLanguage","_setLanguage","use","defaultLanguage","getDefaultLanguage","getCurrentLanguageDrirection","lang_style","setLanguageTranslation","translations","getLanguageTranslations","setAvailableLanguages","languages","getAvailableLanguages","getLanguageDetailById","returnVal","forEach","singleLanguage","changeLangCode","langLoaded","getAllLanguages","apiLangs","lang_code","getLanguageTranslation","translationsJSON","default_lang","showLoader","setTranslation","currentLanguage","langStyle","setAttribute","querySelector","currentLang","loadStyle","hideLoader","langcode","dataString","translationsStrings","langCode","styleName","styleId","head","getElementsByTagName","themeLink","getElementById","createElement","rel","appendChild","isLoading","NavigationEnd","events","urlAfterRedirects","closeNav","appDrawer","close","openNav","open","Subject","CartService","sendCartCountEvent","cartCountSubject","getCartCountEvent","getCartCount","getCart","IsBuyNow","getBuyNow","itemQty","removeFromCart","recordId","updateCart","isBuyNow","updateDeliveryDate","date","getCustomerCoupons","applyPromoCode","promoCode","removePromoCode","makePayment","checkOrderQty","checkPaymentStatus","SiteDesignerService","getDesignerCatalogList","productParams","PageNo","PageSize","getDesignerCatalogDetail","catalogId","getDesignerReviews","DesignerId","Rating","SiteGeneralService","getHome","SiteProductService","getProductFilter","categoyId","subCategoryId","getProductList","CategoryId","SubCategoryIds","SearchColumn","SearchValue","SortColumn","SortOrder","BrandIds","AttributeValueIds","TagId","getHotDealList","getLastMinuteDealList","variationId","getProductVariationDetail","variationIds","getProductReviews","reviewParams","addToWishList","deleteWishlist","getCustomerReview","addToCart","getProductTypePageLists","productTypeLists","slug","CategoryService","getAll","catId","update","action","changeStatus","cateID","getAllMainCategories","getSubCategoryAll","subCategoryGet","subCatId","deleteSubCategory","changeStatusSubCategory","subCateID","subCategoeryAdd","subCategoeryUpdate","subCategoeryAction","DesignerService","DriverService","driverId","updateDocument","verifyDriverProfile","FeedbackService","getFeedbacks","getStoreReviews","HelpSupportService","Id","of","LastminuteDealService","getLastMinuteDeal","changeLMDealStatus","searchProductList","searchText","getProductInfo","createLastMinuteDeal","deleteLastMinuteDeal","NotificationService","getNotifications","OfferService","getOffers","formatDate","OrderService","getAllOrders","orderNo","dateTimeFrom","dateTimeTo","dateTimeForm","getProcessingOrders","getDetail","getOrdersEarnings","fromDate","toDate","CurpageNo","getCompletedOrdersEarnings","FromDate","ToDate","getCancelOrdersEarnings","getWallet","sendWithdrawRequest","getOrderStatistics","year","createCancelOrderByStore","deliveryType","PotentialListService","getAllPotentialList","filterListType","ProductService","edit","updatedStatus","publishProduct","getDropDownValues","getSubCategortLists","getProductDropDownModels","dropDownValues","dpValues","categoryLists","list","productTypes","productType","brand","productTags","productLabels","productLabel","themes","colorPalettes","colorPalette","productServiceType","spaceType","getLinkedProduct","term","pCat","pType","getSpecificationList","specId","specUrl","addSpecification","deleteSpecification","getProductAttributes","getEditAttributesAndValues","attrId","getAttributeList","sercheTerm","Url","addProductAttribute","editProductAttribute","deleteAttribute","deleteAttributeValue","getProductVariationLists","getProductVariationInventoryDetail","isVariation","getProductVariations","createProductVariations","insertUpdateVariation","deleteVariation","removeImage","itemId","typeId","PromoCodeService","getCustomerList","ReturnRequestService","getAllRequests","dtParameters","getRequestById","SettingsService","getStoreData","updateStoreData","getTimeData","updateTimeData","getOrderSettings","updateOrderSettings","getBankDetail","updateBankDetail","getPolicyDetail","updatePolicyDetail","getDocumentLists","getUploadedDouments","docMgmtId","addDocument","actionDocumentUpload","getCuisineLists","getPreferredDriverLists","searchDriverData","addPreferrableDriver","driverID","addPreferrableDeliveryCompany","deliveryCompanyID","deliveryCompanyId","removePreferrableDriver","preferableId","PreferableId","getPickupaddressLists","searchAddress","getAddressDetail","addressLine","addressDetail","addPickupLocation","updatePickupLocation","pickupLocationAction","getPickupAddressDetail","deletePickupAddress","SpecificationService","getSpecification","addEditSpecification","getAllSpecValue","getCreateSpecification","addEditSpecificationValue","getSpecificationValue","SpecValueLangId","SpecValueLangIds","getStoreServiceTypeId","storeProfile","getStoreCurrency","userCurrancy","getCodPaymentReceivedLists","getPaymentReceivedDetailbyId","getStoreDashboard","VehicleService","getVehicleType","getVehicleMake","getVehicleModel","makeId","manageVehicle","getVehiclebyId","vehicleId","vehicleChangeStatus","deleteVehicle","retractVehicle","getDriverListForVehicle","assignDriver","getRequiredDocuments","VehicleId","uploadDocument","WishlistService","getWishlist","Title","Meta","firstValueFrom","auth","trans","meta","siteTitle","getTitleSufix","getCurrentUserType","uType","titleSuffix","getTranslatedString","setTitle","pageTitleParts","newTitleParts","concat","pageTitle","join","delim","setMultipleTitle","titles","translatedTitle","getTitle","titleCaseWord","word","toUpperCase","substr","key","loggedInUser","setMetaTag","content","getMetaTag","addMetaTag","updateMetaTag","getTag","addTag","updateTag","removeMetaTag","removeTag","DRIVER_ENDPOINT","routes","path","redirectTo","pathMatch","AppRoutingModule","AppComponent","BrowserModule","BrowserAnimationsModule","AuthPagesModule","AlertModule","appProviders","AppModule","maxMessages","timeout","positionX","positionY","bootstrap","DriverSharedModule","ngModule","LoginComponent","RegisterComponent","EmailVerifyComponent","ResetPasswordComponent","URL_ENDPOINT","component","AuthPagesRoutingModule","forChild","userService","snapshot","isSuccess","isError","errorMessage","Message","env","createLoginForm","loginForm","f","onSubmit","submitted","createSignUpFrom","regiForm","validator","selectedNumber","iniObj","getNumber","test","RPForm","minLength","maxLength","getErrorNewPassword","getErrorConfirmPassword","success","HTTP_INTERCEPTORS","PagesModule","BsModalRef","provide","useClass","multi","StoreSharedModule","ForgotPasswordComponent","STORE_ENDPOINT","SocialLoginModule","AuthServiceConfig","GoogleLoginProvider","FacebookLoginProvider","socialConfig","PROVIDER_ID","provideConfig","FGForm","getErrorEmail","general","storeUser","getErrorPassword","userdetail","languageCode","errorMsg","error_description","storeUserService","emailregex","AerialViewComponent","Array","fill","showModal","isModalShown","hideModal","hide","onHidden","ListsComponent","DetailComponent","CancelRequestRoutingModule","TemplateDefaultModule","DataTablesModule","CancelRequestModule","order","listUrl","requestDetail","fb","orderService","createDataTable","dtOptions","pagingType","ordering","lengthChange","searching","serverSide","processing","paginate","previous","last","ajax","hasLists","lists","totalCount","totalRowsAfterFiltering","recordsTotal","recordsFiltered","pluginDataLabels","DashboardComponent","responsive","maintainAspectRatio","layout","left","right","top","bottom","scales","xAxes","yAxes","ticks","beginAtZero","plugins","datalabels","anchor","align","backgroundColor","borderColor","hoverBackgroundColor","legend","loadDashboard","barChartLabels","orderStatusticsData","month","barChartData","lineLables","lineChartData","orderSalesData","single","orderCount","lineChartLabels","orderPieChartData","orderPieChartLabels","orderStatusCounter","hasOwnProperty","productChartLabels","productChartData","productCounter","productPieChartData","productPieChartLabels","repeatCustLabels","reapeatCustData","repeatCustomerCounter","repeatCustomerData","repeatCustomerLabel","MatDialog","DataTableDirective","DeliveryZoneComponent","dialog","modelTitle","getCountryList","makeForm","openModal","DZActionModel","deliveryZoneActionForm","zoneName","roleIdentifier","roleIdentifierId","cityId","countryLists","stateLists","cityLists","onStateChange","datatableElement","dtInstance","draw","onClear","confirmDialog","afterClosed","editDeliveryZone","formEditData","submitForm","ActionsComponent","driver","setFormValue","actionForm","setValidators","zipCodeRegex","profilePicture","locationLatitude","locationLongitude","addressLine1","addressLine2","landmark","zipcode","zipCodeValidator","country","city","zipCode","profilePreviewUrl","profileImage","setNumber","isEmailAvailable","startsWith","endsWith","invalidZipCode","spacesCount","dashesCount","regex","onPhoneCodeChange","placeAutoCompleteField","profileFileProgress","profileFileInput","profileFileData","files","profileImagePreview","reader","FileReader","readAsDataURL","onload","_event","selectedStateId","selectedCityId","getSelectedAddress","selectedCountry","find","countryName","CntryName","selectedState","stateName","Region","selectedCity","cityName","City","postalCode","PostalExt","Postal","stAddress","StAddr","stAddressLine","Address","nbrhd","Nbrhd","nbrhdLine","Neighborhood","neighborhood","updateAddressLine","postcode","combinedAddress","filter","Boolean","DatePipe","DocumentsComponent","datePipe","getDiverInfo","driverInfo","createDocumentForm","docForm","fileUpload","expiryDate","docId","fileProgress","fileInput","fileData","preview","mimeType","previewUrl","fileUplaodName","driverDocument","selectedDoc","isExpiryDateRequired","expiredDate","dateFormat","DriversRoutingModule","NgSelectModule","DriversModule","listDrivers","deleteDriver","EarningsComponent","EarningsRoutingModule","PaginationModule","BsDatepickerModule","EarningsModule","maxDate","setDate","getDate","bsRangeValue","makeSearchFrom","makeWithdrawForm","searchForm","orderFilterDates","withdrawForm","withdrawAmount","validators","hasOrders","searchparams","filterText","filterBy","oDates","resp","totalCompletedEarnings","totalEarnings","totalBalance","totalOrders","totalWithdrawals","withdrawFunds","totalAvailableFunds","availableFunds","totalAvailableFundsWOCC","availableFundsWCC","max","getErrorWithdrawalAmount","searchSubmit","withdrawSubmit","NgxGalleryAnimation","FeedbackComponent","feedback","reviewImagesOptions","width","thumbnailsColumns","imageAnimation","Slide","thumbnailsRemainingCount","imageSize","previewCloseOnClick","previewCloseOnEsc","breakpoint","imagePercent","thumbnailsPercent","thumbnailsMargin","thumbnailMargin","feedbackType","getCustomerFeedback","getReviews","setFeedbackType","navigateByUrl","feedbackUrl","feedbackData","Reviews","counters","Counter","feedbackProgress","bg","review","Math","round","fiveReviewsCount","totalReviewsCount","fourReviewsCount","threeReviewsCount","twoReviewsCount","oneReviewsCount","reviews","reviewImages","review_images","small","images","medium","big","pagination","pageChange","AddComponent","hs","cs","createForm","addForm","Description","Attachment","FileProgress","allowedFileTypes","maxSizeMB","selectedFile","includes","size","attachmentFileData","isFormValid","PhoneNumber","ListComponent","_ENDPOINT","HelpSupportRoutingModule","HelpSupportModule","emptyTable","notification","redirectToPage","notificationType","refId","NotificationRoutingModule","NotificationModule","offers","loadOffers","OffersRoutingModule","OffersModule","os","getOrderDetail","orderInfo","currencyCode","myCartCalulationDto","orderCalculationDetail","calculationDetails_New","getCancelableItems","validCancelStatus","cancelableItems","patchDtos","itemList","statusId","getCancelReasonOption","cancelReasonOptions","makeCancelRequestForm","cancelRequestForm","orderDetailIds","reason","openCancelOrderPopup","cancelOrderCurrencyCode","isOpenCancelRequestModal","cancelFormModal","onCancelOrderModalHidden","allCancelItemSelected","deselectAll","updateValueAndValidity","toggleCancelSelection","completed","allCancelItemComplete","selectAll","isAllCancelSelected","selectedOptions","selected","options","onCancelSelectionListChange","someCancelComplete","isCancelFormValid","onCancelRequestSubmit","selectedItems","orderDetailIdSet","orderDetailId","OrdersComponent","ScheduleComponent","ORDER_ENDPOINT","OrdersRoutingModule","PopoverModule","OrdersModule","optionKey","optionValue","orderFiltersOptions","filterChange","selectedVal","resetFrom","getDeliverySchedule","deliverySchedules","schedule","items","PrefrredDeliveryCompanyComponent","PagesRoutingModule","ChartsModule","StarRatingModule","ProductsModule","SettingsModule","WishlistModule","PromoCodeModule","ShippingRateModule","ReturnRequestModule","StoreVehicleModule","PotentialListModule","NgxGalleryModule","pl","promocode","defaultSetting","defaultCurrencyCode","currentDate","createTable","selectedFilter","onChangePotentialListType","$event","createDeal","createActionForm","isActionModalShown","viewDeal","isViewModalShown","customerId","productVariationId","activationdate","expirydate","getErrorDiscount","changeDiscountUnit","markAsTouched","onlySelf","actionModal","hideViewModel","viewModal","hiddenViewModel","showDeal","offerId","dealData","onActionSubmit","ActivationDateUtc","activationDate","getMonth","monthWithZero","day","expiryDateUtc","type1","isDeal","routeStore","PotentialListRoutingModule","ChangeDetectorRef","BsModalService","modalService","changeDetection","getDriverLists","noMessageDisplay","driverLists","emailId","searchFormModal","backToSearch","driverData","addToPrefrredDeliveryCompany","removeAction","preferenceId","removePreferableId","removeConfirm","removePreferredDeliveryCompany","hideRemoveModal","AddProductComponent","product","productListUrl","dropdownSettings","singleSelection","selectAllText","unSelectAllText","enableSearchFilter","classes","loadDropDownValues","dataValues","getSubcaregoryLists","addProductForm","categoryName","subCategories","serviceTypeId","subCategory","productName","descriptipn","price","offerAmount","primaryImage","secondaryImage","videoUrl","theme","isFragile","IsAssemblyRequired","AssemblyCharges","isReturnable","productDimensions","weight","shipping","processingTime","primaryFileProgress","primaryFileInput","allowedImageTypes","primaryFileData","primaryImagePreview","primaryPreviewUrl","removePrimaryImage","filename","filetype","split","secondaryFileProgress","secondaryFileInput","secondaryFileData","secondaryImagePreview","secondaryPreviewUrl","removeSecondaryImage","onAssemblyChange","checked","splice","onOfferChange","sellingPrice","onProductTypeChange","itemType","pWeight","pLength","pWidth","pHeight","sWeight","sLength","sWidth","sHeight","sprocessingTime","isAssemblyRequired","singleTag","editUrl","ActionComponent","categoryService","categoryURL","btnLable","categoryData","DisplayOrderNextValue","displayOrderCounts","catNamesControls","singleRow","l_index","row","langKey","langValue","catID","mainCateId","catNames","array","displayOrder","langNames","catName","lang_id","getAllMainCategory","allMainCategories","trackByFn","getValidity","c","singleEle","LangKey","LangValue","subCatName","routeBase","CategoryRoutingModule","CategoryModule","catService","loader","FiltersOptions","hasCategory","categoryId","unsubscribe","subscriptions","subscription","subCateId","catStatus","distinctUntilChanged","switchMap","AttributesComponent","formArray","removeAt","productEditUrl","selectedSingleAttribute","swatcheType","swatcheTypeId","loadAttributes","createAttributeForm","attributeForm","attributeId","attributeColor","attributeImage","editAttributeForm","attributeValueLists","attributeEditFromValue","attributeValue","productAttributeValue","swatcheTypeValue","attributrColor","modalTitle","productAttributeId","getEditAttributesValues","loadAutocompleteAttributes","edithideModal","editAttributeModal","isEditAttributeModalShown","attributesLists","attributeListValues","attributesLoading","attributesInput$","selectedAttributes","clearValidators","imageFileData","imageFileName","defaultImageFileName","editAttributeValueLists","clearFormArray","editAttributeImageData","editAttrImageNames","trackByFnAttributes","getAttributeValues","patchValue","attrColor","imageFileProgress","attributesLists$","productAttValueList","colorPickerChange","editColorPickerChange","at","editImageFileProgress","fileInfo","deleteId","onEditAttributeSubmit","imageData","EditComponent","AngularMultiSelectModule","VariationsComponent","ColorPickerModule","EditProductModule","specification","removeLinkedProduct","recommendedProduct","crossSellProduct","secondaryImageUrl","allLanguages","productData","editProductForm","description","defaultLanguageId","brandId","itemTagId","languagesArray","inventory","sku","qty","productStock","soldIndividually","extra","manufacturingDate","warranty","isFreeReturnPolicy","AdditionalPackingCharges","SpaceTypeId","linkedProducts","addAvailableLanguages","specificationForm","specificationValue","deletedSpecificationValue","itemTypeId","productTagIds","productOfferAmt","videoURL","themeId","colorPaletteId","assemblyCharges","per","disable","isHideInvenrory","additionalPackingCharges","spaceTypeId","productLanguages","singleLang","languageId","productDesc","loadRecommandedProducts","loadCrossSellProducts","productSpecifications","isPrimaryImage","selectedRecommandedProducts","selectedCrossSellProducts","topViewUploadedFile","topViewImage","topViewUploadedFileId","topViewImageId","augmentedViewUploadedFile","augmentedViewImage","augmentedViewUploadedFileId","augmentedViewImageId","threeDViewUploadedFile","modelJsonViewImage","threeDViewUploadedFileId","modelJsonViewImageId","productCatId","removeUploadedSecondaryImage","secondaryId","removeSecondaryImageIds","onRemoveProductTage","removeProductTagIds","topViewFileProgress","topViewFileInput","fileName","fileType","substring","lastIndexOf","topViewError","topViewInputData","topViewPreviewUrl","augmnetedViewFileProgress","augmnetedViewFileInput","augmentedViewError","augmentedViewInputData","augmentedViewPreviewUrl","threeDViewFileProgress","threeDViewFileInput","threeDViewError","threeDViewInputData","threeDViewPreviewUrl","e","availableLangs","languageProductName","languagedescription","recommandedProducts$","recommandedProductsInput$","recommandedProductsLoading","addNewRecommandedProduct","some","fromTag","linkedProductMaxLimit","ngSelectComponent","setDisabledState","handleClearClick","removeRecommandedProduct","removeProduct","crossSellProducts$","crossSellProductsInput$","crossSellProductsLoading","addNewCrossSellProduct","ngCrossProductComponent","removeCrossSellProduct","trackByFnLinkedProduct","specificationLists","specPopupTitle","specificationListValues","hideSpecificationFieldOnPopup","getSpecificationValues","specNameLangId","updateSPecification","singleSpecification","specificationId","productSpecificationValueIds","removeSpecicationValue","deletedSpec","eventValue","removeSpecification","onSpecificationSubmit","sloading","specNameId","specNameLangIds","mfDate","mDate","recommandedProductsIds","removeRecommandedProductIds","crossSellProductIds","removeCrossSellProductIds","LanguageId","ProductName","ProductDesc","removeUploadedFile","imageType","SECONDARY_IMAGE","TOPVIEW_IMAGE","AUGMENTED_VIEW","THREE_VIEW","addTagFn","specificationLength","selectedSpec","spec","CueenrLangId","langValueLists","specNameLangIdList","specValueLangId","specValueList","addedTag","openInNewTab","fileUrl","loadProductVariations","v","productVariations","isAllVariationCreated","createVariations","attributeList","attr","selectedAttrValueId","selectedId","addNewVariationAttribute","setNewVariationAttributeValues","availableQty","stockQuantity","showCreateButtonContainer","variationForm","variations","variationData","variationSku","variationName","variationFile","variationQty","variationAvailable","variationPrice","overriddenPrice","variationOfferAmount","overriddenOffer","variationOutOfStock","allowOutOfStockOrders","variationAtrributeList","hasImage","imageSelected","createVariationAttribute","attributeValueId","mainIndex","subindex","arrtId","attrValueId","variationQtyChange","originalQty","aQty","variationType","pVatiation","singleAttr","attrValue","attValueList","removeVariation","removeIndex","varitionId","variationImageFileProgress","fileSize","variationImageFileData","topViewImageFileProgress","augmentedViewImageFileProgress","threeDImageFileProgress","formSubmitted","totalVariations","variationsWithImages","variation","topViewimageData","augumentedimageData","threeDimageData","attrIds","attrValueIds","InventoryViewComponent","vid","inventoryLists","productInfo","ProductInfo","InventoryComponent","productVariationLists","hasVariations","moment","lastMinuteDealService","loadAutocompleteProducts","minDate","setHours","getHours","quantity","offerEndsOn","discountPercent","discountAmount","variationLists","canCreateOffer","productQty","clearFieldValidation","offerTypes","offerTypeData","productDetail","productDetails","currentStockQuantity","makeFieldRequired","changeVariation","productsLists$","productsInput$","productsLoading","changeOfferType","discountType","offerTypeId","getErrorQty","getErrorDiscountAmount","getErrorDiscountPer","offerEndDate","format","LastMinuteDealRoutingModule","LastMinuteDealModule","viewLastMinuteDeal","itemDetail","deleteLMD","itemPerPage","currentPage","totalPages","previousPage","nextPage","loadProductLists","createSearchForm","productLists","hasProducts","filterCHange","resetSearchForm","updateStatus","isPublish","showPublishButton","productList","variationProductCount","ProductsRoutingModule","SpecificationModule","noWhitespaceValidator","isWhitespace","isValid","whitespace","specModalTitle","languageWiseData","ValuesComponent","SpecificationRoutingModule","matDialog","specid","editActionForm","specLang","addEditSPecValue","onEditActionSubmit","pc","defaultLamguage","checkValidAction","getPromoCode","getCustomerLists","customerLists","couponCode","customer","UsageLimit","Validity","ActivationDate","ExpiryDate","Status","maxDiscount","changeActivationDate","setFormData","getErrorTargetAmount","getErrorMaxDiscount","getErrorUsageLimit","fieldData","giftcode","usagelimit","validity","onCustomerChange","makeCustomerReadOnly","isCustomValidity","isDiscountPer","showUsageLimit","handleValidityChange","generateCode","makeRandom","randomChars","charAt","floor","random","submit","LanguageArray","used","storeId","promocodeType","totalRows","pId","PromoCodeRoutingModule","rr","getRturnRequestDetail","showPickupDateByStatus","returnStatusIds","ReturnRequestRoutingModule","BankDetailComponent","getBankData","bankDetailForm","accountNumber","bankName","bankCode","ChangePasswordComponent","changePasswordFrom","oldPassword","isFirstTimeLogin","loginURL","settingLang","combineLatest","getRequiredDocumentLists","makeUploadForm","uploadForm","documentLists","doc","resData","DocMgmtId","DocumentName","documentName","IsExpiryDateRequired","DocExpiryDate","docExpiryDate","DocUrl","docUrl","IsVerify","isVerify","isDocUrl","btnLabel","isexpDateReq","_combine","onShow","onShown","onHide","markForCheck","selectedDocMgmtId","selExpDateReq","modalRef","class","OrderComponent","us","vlaue","storeTypeId","storeCurrency","orderSettingForm","OfferApplyOn","OfferType","OfferDiscount","TargetAmount","MaxAmount","TakeAway","DeliverToVehicleFees","orderData","offerApplyOn","offerApplyOnChange","onChangeOfferType","maxAmount","takeAway","deliverToVehicleFees","estimatedTimeUnits","unitList","offerApplyValue","offerApply","offerTypeValue","getTargetAmountError","UnitId","EstimateTimeUnit","_deliverToVehicleFees","additionalCharges","AdditionalCharges","estimateTime","EstimateTime","maxItemsInCart","MaxItemInCart","minOrderPrice","MinOrderPrice","unitId","PickupAddressListComponent","pickupaddressActionForm","contactPerson","locationText","pickupAddressLatitude","pickupAddressLongitude","addressData","loadAutocompleteAddress","autocompleteLists$","autocompleteInput$","autocompleteLoading","getAutocompeteAddresDetail","magicKey","PolicyComponent","getPolicyData","policyForm","storeReturnPolicy","customerDropoffPolicy","val","SettingsMenuComponent","displayName","settingsUrl","StoreComponent","TimeComponent","SettingsRoutingModule","TimepickerModule","useValue","su","zoom","getAllLanguage","storeData","storeSettingForm","storeName","contactPersonName","storeAddress","storeZipCode","vatNumber","deliveryHandleId","vat","onDeSelectAll","selectedCuisine","setCurrentLocation","getAddress","geoCoder","geocode","formatted_address","regionCode","langDetail","getTimeSlot","timeSettingForm","weekDaySlot1StartTime","weekDaySlot1EndTime","weekDaySlot2StartTime","weekDaySlot2EndTime","weekEndSlot1StartTime","weekEndSlot1EndTime","weekEndSlot2StartTime","weekEndSlot2EndTime","setFormValues","fieldValues","myTimeValues","weekType","weekId","slots","weekSlot","slot","startTimeKey","endTimeKey","startTime","startParts","endTime","endParts","sTime","setMinutes","eTime","valid","fValues","fDate","h","getMinutes","getSingleShippingRate","deliveryZoneLists","zoneId","minWeight","maxWeight","perWeightPrice","minWidth","maxWidth","minHeight","maxHeight","freeDeliveryCharges","ctrl","ShippingRateRoutingModule","vehicle","currentYear","vehicleYear","getAutoloadData","vehicleType","vehicleMake","vehicleTypeId","vehicleMakeId","vehicleModelId","vehicleNumber","vehicleColor","myFromData","modelId","vehicleModel","DocumentComponent","getRequiredDoument","openPage","vehicleBaseUrl","removeVehicle","removeDriverFromVehicle","assignDriverFrom","for","StoreVehicleRoutingModule","WishlistComponent","WishlistRoutingModule","wishlist","FooterComponent","HeaderComponent","ViewEncapsulation","SidebarComponent","iconName","changeProfilePicFrm","profilePhoto","deliveryHandledId","parseInt","navItems","showOpenPhotoModal","fileUploadProgress","encapsulation","None","baseUrl","scrollPositionRestoration","NavigationStart","NavigationError","NavigationCancel","languageService","loaderService","fixedElementService","checkUserRights","addLangs","browserLang","_constatnt","setDefaultLang","setLanguageDir","loadFronStyles","scrollTo","updateHeight","onResize","fixedElement","offsetHeight","changeLang","removeStyle","urlSegment","finalUrl","isStoreUrl","isDriverUrl","isCustomerUrl","isDCUrl","isDesignerUrl","isLoginUrl","stateUrl","checkIfUserCustomer","HttpClientModule","DeliveryCompanyModule","DesignerModule","CustomerModule","ECommerceModule","ChatBotComponent","CarouselModule","SharedComponentsModule","TemplateModule","makeLoginForm","togglePasswordVisibility","showPassword","getCustomerData","customerData","phone_code","currencyId","profileForm","DcForgotPasswordComponent","dcService","DcLoginComponent","errorCode","code","errMsg","getLoginErrorMsg","instant","emailFromParams","errors","DcResetPasswordComponent","DeliveryCompanyPrefix","DeliveryCompanyRoutingModule","RecaptchaModule","RecaptchaFormsModule","DesignerPrefix","DesignerRoutingModule","designerService","FPForm","dService","CartComponent","cart","fixedElementHeight$","actualHeight","headerStyle","isUserLoggedIn","userDetails","selectedAddress","addId","getBuyNowData","pageFor","createCartForm","decodeURIComponent","_n","_da","_ref","_order","_isBuyNow","_pid","cartForm","note","termsAgreed","requiredTrue","cartInfo","cartItemQty","findIndex","expectedDeliveryDate","actualDeliveryPlanDate","deliveryPlan","minDays","itemQuantity","cartMessage","getBuyNowData_OLD","updateData","changeDate","pDate","selectedMonth","selectedDate","myCartCalculation","selectedPromoCode","hideCouponModal","listPromoCode","couponLists","discountPercentage","isPercentageApplied","isCouponModalShown","cartFormSubmit","authUrl","origin","declineUrl","cancelUrl","OrderBaseId","od","encodeURIComponent","qtyError","customerAddresses","sort","b","isDefault","couponModal","onCouponHidden","changeAddress","queryParamsHandling","CategoryComponent","setCategoryAndSubCategory","navSubcription","getProductLists","subCategoryIds","subCatIdsArray","filters","sortBy","sortByList","CategoryName","subCategoryDetails","changeSortBy","selectedEle","selectedIndex","getAttribute","sortCol","ProductListComponent","setProductList","setShowRating","showRating","CatalogDetailComponent","getCatalogDetail","catalogData","catalogDetails","productCount","scroll","toggleReviewSection","toggleReview","designerReviewsParams","designerId","designerReviews","DesignerCatalogRoutingModule","DesignerCatalogModule","designerCatalogService","navSubscription","getDesignerCatalogLists","HomeComponent","ProductDetailComponent","HotDealComponent","LastMinuteDealComponent","ProductsComponent","ECommerceRoutingModule","PaymentModule","ProductViewComponent","loop","mouseDrag","touchDrag","pullDrag","dots","margin","autoplay","rtl","navSpeed","navText","nav","productSlide","customOptions","getHomeSections","getHotDeals","video","videoPlayer","muted","play","bannerSliders","banners","popularCategories","cat","newArrivals","bestSellers","bestSellerProductList","newArrivalSlider","isMobileDevice","bestSellerSlider","hotDealsProductParams","hotDeals","hotDealSlider","userAgent","getCatImage","imageName","selectedBrands","selectedSubCategoryIds","submitSearchValue","brandChecked","itm","subCatChecked","attributeChecked","selectedAttributeValues","CmsComponent","pageName","acceptPages","isAboutUsPage","loadCmsPage","pageContent","metaTitle","metaKeyword","metaDescription","VERSION","FormGroup","ContactComponent","full","createContactForm","conatctForm","FirstName","LastName","Phone","validatePhoneNumber","recaptchaReactive","phoneNumber","invalidPhoneNumber","myNgForm","resetForm","onCaptchaResolved","captchaResponse","FaqComponent","loadFaq","catIds","faqCategories","faqLists","faqCategoryClick","faqCategory","flatData","reduce","acc","selectedCategoryFaqs","RECAPTCHA_SETTINGS","AboutusComponent","siteKey","CancelComponent","DeclineComponent","PaymentActionComponent","returnRequestTicketId","sessionStorage","btoa","atob","_o","redirectHome","checkReturnRequestPayment","paymentInfo","PaymentRoutingModule","SuccessComponent","shareReplay","interval","eventEmitterService","star","reviewPer","productGalleryOptions","arrowPrevIcon","arrowNextIcon","closeIcon","imageArrowsAutoHide","thumbnailsArrowsAutoHide","imageAutoPlay","imageSwipe","headerText","productGalleryImages","imageUrl","attribute","selectedAttributeValue","selectedVariations","expiredDateTime","offerEndsOnDate","momentDate","parseDate","hours","minutes","timeLeft$","calcDateDiff","setExtraMeta","extraMeta","brandName","returnPolicy","returnableText","fragile","productExtra","manufacturingDateFormat","showExtraTab","getProductVariation","variationAttrIds","addToWishlist","wishListData","wishListId","removeFromWishlist","buttonText","ButtonText","inCart","showActionButtons","buyNow","collapseSpaces","endDay","dDay","valueOf","milliSecondsInASecond","hoursInADay","minutesInAnHour","secondsInAMinute","timeDifference","now","daysToDday","hoursToDday","minutesToDday","secondsToDday","secondsToDdayWS","minutesToDdayWS","hoursToDdayWS","daysToDdayWS","productReviewsParams","productReviews","productCounters","productReviewData","totalReviewCounter","reviewCounters","counter","onReviewFilterClick","filterStar","makeRateNowForm","rateNowForm","OrderId","Rate","Comment","Attachements","updateRateNowForm","openRateNowForm","rateNowMessage","isWriteReview","isOpenRateNowModal","rateNowFormModal","onRateNowModalHidden","rateNowItemData","onRateNowSubmit","rateNowFileData","rateNowFileProgress","rateNowImagePreview","rateNowPreviewUrl","removeRateNowImage","openViewerModal","modelUrl","screenWidth","screenHeight","QRCode","closeDialog","showQrCode","showQr","generateQrCode","toCanvas","closeQrCode","toggleGuideline","showGuideline","checkProductPageType","productTypePage","productPageType","selectedProductPageType","replaceUrl","chatbotService","userMessage","isLoggedIn","ngAfterViewChecked","mediaStream","getTracks","track","stop","startChat","isChatLoading","responseText","messages","sender","isResponseChatLoading","scrollToBottom","isChatLoadingError","fetchMessageHistory","messageHistory","isArray","formattedMessages","audioUrl","getMessageClass","messageType","detectMessageType","isImageMessage","isAudioMessage","isMediaMessage","toggleChat","isChatOpen","onKeydown","triggerImageInput","imageInput","click","onImageSelected","scrollAnchor","scrollIntoView","behavior","block","showAudioScreen","isAudioScreen","closeAudioScreen","toggleRecording","isRecording","stopRecording","startRecording","mediaDevices","getUserMedia","audio","stream","mediaRecorder","MediaRecorder","onerror","ondataavailable","URL","createObjectURL","addAudioMessage","audioMessage","FilterSidebarComponent","setFilters","showFilters","getFilters","showAttributesSectionIfSelected","attributesValues","isFound","ViewportScroller","viewPosrtScroller","cartCountEventsubscription","availableLangauges","getCategory","scrollToElement","$elementId","scrollToAnchor","catData","setMainMenu","subMenu","categoryMenu","submenuItems","subCategoryList","submenu","subCategoryName","child","mainMenu","sidenav","cartCount","wishListCount","selectedLang","loadJqueryFunction","$","toggleClass","offsetParent","hasClass","parents","removeClass","parent","css","outerWidth","categoryMainMenuClicked","showCategorySubMenu","categorySubMenu","onSubCategoryMenuClicked","goBack","closeSideNav","onClosedSlideNav","openSlideMenu","ele","slideNav","onWindowScroll","pageYOffset","scrollTop","isSticky","AddAddressComponent","setActionVariables","addressForm","AddressId","Location","Longitude","Latitude","AddressLine","AddressLine1","AddressLine2","Landmark","ZipCode","selectedType","CountryName","StateName","CityName","additionalAddressLine","isArabic","arRergEx","getAddressById","setFromValues","ADDRESS_ENDPOINT","AddressRoutingModule","AddressComponent","AddressModule","getCustomerAddresses","addLists","noDataFoundMsg","selectedAddressId","deleteAddress","setDefaultAddress","routeUrl","CANCEL_REQUEST_ENDPOINT","hasList","cancelRequestLists","ProfileComponent","ReturnRequestComponent","SupportCancelOrderComponent","CustomerRoutingModule","ProfileModule","JobModule","JobDetailComponent","getJobProducts","_data","categoryItemLists","serviceCategories","JOB_ENDPOINT","JobRoutingModule","jobForm","spaceTypes","MAT_RADIO_DEFAULT_OPTIONS","makeReturnRequestForm","returnRequestForm","IsPickupByStore","PickupCharge","ItemOptionId","requestForm","patches","orderCalculation","orderCalculationNew","numSequence","getReturnReasonOption","returnReasonOptions","openReturnForm","returnItemData","isOpenReturnRequestModal","returnFormModal","onReturnRequestModalHidden","getReturnPickupCharge","pickupChargeParams","onQuantityChange","onReturnRequestSubmit","getReturnStatusText","isClosed","isAccepted","showCancelButton","cancelOrderItems","isRateNowButtonShow","isShow","isCancelledOrder","isReturnRequest","isReviewStore","color","searchFilterText","InnerNavComponent","profileUrl","changePasswordUrl","ProfileRoutingModule","CurrencyId","currencies","validForm","feedbackForm","returnRequestLists","ticketDBId","openRejectReasonModal","actionType","customerFeedBack","customerFeedback","selectedItem","rejectReasonModal","onRejectReasonModalHidden","ticketIdNumber","submitFeedback","feedbackValue","markAllAsTouched","isFeedBackVisible","returnStatusId","isReplaced","openDatePicket","pickupDatePicker","pickupDateChange","selectedPickupItem","selectedPickupDate","pickupDateConfirmModel","onPickDateConfirmModalHidden","myPickupDate","onPickupChangeDateButtonClicked","homeUrl","decodedToken","tokenDateTime","isOrderFound","cust_id","galleryOptions","fetchImages","product_attribute","galleryImages","WISHLIST_ENDPOINT","loadMyWishlists","myWishlists","noWishlistsMsg","mgs","SiderbarComponent","environment","production","enableProdMode","platformBrowserDynamic","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[417]}